使用 tweepy 流式传输推文,在 python 中读取 json 文件
Tweets streamed using tweepy, reading json file in python
我使用以下代码流式传输推文
class CustomStreamListener(tweepy.StreamListener):
def on_data(self, data):
try:
with open('brasil.json', 'a') as f:
f.write(data)
return True
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
现在我有一个 json 文件 (brasil.json)。我想在 python 上打开它进行情绪分析,但我找不到方法。我设法用这个打开了第一条推文:
with open('brasil.json') as f:
for line in f:
tweets.append(json.loads(line))
但它不会阅读所有其他推文。有什么想法吗?
来自评论:在检查 json
数据文件的内容后,所有推文都在奇数行中。偶数为空
这引起了 json.decoder.JSONDecodeError
.
有两种方法可以处理这个错误,要么只读取奇数行,要么使用异常处理。
使用奇数行:
with open('brasil.json') as f:
for n, line in enumerate(f, 1):
if n % 2 == 1: # this line is in an odd-numbered row
tweets.append(json.loads(line))
异常处理:
with open('brasil.json', 'r') as f:
for line in f:
try:
tweets.append(json.loads(line))
except json.decoder.JSONDecodeError:
pass # skip this line
试试看哪个效果最好。
我使用以下代码流式传输推文
class CustomStreamListener(tweepy.StreamListener):
def on_data(self, data):
try:
with open('brasil.json', 'a') as f:
f.write(data)
return True
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
现在我有一个 json 文件 (brasil.json)。我想在 python 上打开它进行情绪分析,但我找不到方法。我设法用这个打开了第一条推文:
with open('brasil.json') as f:
for line in f:
tweets.append(json.loads(line))
但它不会阅读所有其他推文。有什么想法吗?
来自评论:在检查 json
数据文件的内容后,所有推文都在奇数行中。偶数为空
这引起了 json.decoder.JSONDecodeError
.
有两种方法可以处理这个错误,要么只读取奇数行,要么使用异常处理。
使用奇数行:
with open('brasil.json') as f:
for n, line in enumerate(f, 1):
if n % 2 == 1: # this line is in an odd-numbered row
tweets.append(json.loads(line))
异常处理:
with open('brasil.json', 'r') as f:
for line in f:
try:
tweets.append(json.loads(line))
except json.decoder.JSONDecodeError:
pass # skip this line
试试看哪个效果最好。