我尝试用Python提取tweet并将其存储在CSV文件中,但似乎无法包含所有语言。阿拉伯语显示为特殊字符。
def recup_all_tweets(screen_name,api):
all_tweets = []
new_tweets = api.user_timeline(screen_name,count=300)
all_tweets.extend(new_tweets)
#outtweets = [[tweet.id_str, tweet.created_at, tweet.text,tweet.retweet_count,get_hashtagslist(tweet.text)] for tweet in all_tweets]
outtweets = [[tweet.text,tweet.entities['hashtags']] for tweet in all_tweets]
# with open('recup_all_tweets.json', 'w', encoding='utf-8') as f:
# f.write(json.dumps(outtweets, indent=4, sort_keys=True))
with open('recup_all_tweets.csv', 'w',encoding='utf-8') as f:
writer = csv.writer(f,delimiter=',')
writer.writerow(["text","tag"])
writer.writerows(outtweets)
# pass
return(outtweets)
3条答案
按热度按时间cqoc49vn1#
编写CSV和JSON的示例:
output.csv:
在Excel中查看输出.csv:
output.json:
注意Microsoft Excel需要
utf-8-sig
才能正确读取UTF-8文件。其他应用程序可能需要也可能不需要它才能正确查看。许多Windows应用程序要求在文本文件的开头使用UTF-8“BOM”签名,或者采用ANSI编码。ANSI编码因所用Windows的本地化版本而异。jqjz2hbq2#
也许可以试试
f.write(json.dumps(outtweets, indent=4, sort_keys=True, ensure_ascii=False))
ojsjcaue3#
我搜索了很多,最后写了下面的代码:
这段代码非常适合我,我希望它能帮助那些没有使用过前一篇代码的人