我收集了很多推文。然后我想只输出英文推文。我可以得到所有的推文包括非英语推文。但是,如果我附加一些代码for i in range (0,1000): if tweet['statuses'][i][u'lang']==u'en':
来获取英文推文,就不能像那样收集它。而且没有错误。
In [1]: runfile('C:/Users/Desktop/tweets.py', wdir='C:/Users/Desktop')
它只是运行而且那里("C:/Users/Desktop/A.txt"
)没有数据。我的代码如下。我该怎么办呢?
try:
import json
except ImportError:
import simplejson as json
tweets_filename = 'C:/Users/Desktop/tweet.txt' #Original tweet
tweets_file = open(tweets_filename, "r")
for line in tweets_file:
try:
tweet = json.loads(line.strip())
for i in range (0,1000): #This is the part for filtering English tweet
if tweet['statuses'][i][u'lang']==u'en': #Same part
if 'text' in tweet:
print (tweet['created_at'])
print (tweet['text'])
hashtags = []
for hashtag in tweet['entities']['hashtags']:
hashtags.append(hashtag['text'])
print(hashtags)
output = "C:/Users/Desktop/A.txt" #Only English tweet path
out_file = open(output, 'a')
out_file.write(tweet['user']['name'] + "," + tweet['text'] + "\n \n")
out_file.close()
except:
continue
答案 0 :(得分:0)
您必须阅读tweet_file
的行,就像这样;
lines = tweet_file.readlines()
for line in lines:
...
另外,如果您想查看错误。不要抓住他们。一些好的阅读Zen of Python