我使用以下代码流化了推文
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))
,但不会读取所有其他推文。有想法吗?
答案 0 :(得分:1)
摘自注释:在检查json
数据文件的内容之后,所有tweets均以奇数(如果有行)为单位。偶数为空。
这引起了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
尝试看看哪个效果最好。