[英]How to write sentiment analysis results from twitter into a CSV file
我是python和NLP的新手,我正在从事Twitter情感分析。我还可以打印数据以及极性和主观性,但是我的目标是将数据写到我无法执行的csv文件中,我这样做时遇到IO异常。 这是我的代码
import tweepy
from textblob import TextBlob
import csv
consumer_key = 'xxxxxxxxxxxxxxxxxxxxxx'
consumer_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
access_token_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_token_secret)
api = tweepy.API(auth)
public_tweets = api.search('Uk election')
with open("sentiment.txt",'w') as scorefile:
scoreFileWriter = csv.writer(scorefile)
for tweet in public_tweets:
print(tweet.text)
analysis = TextBlob(tweet.text)
print(analysis.sentiment)
scoreFileWriter.writerow([tweet.text,analysis.sentiment])
我收到异常消息,
Traceback (most recent call last):
File "C:/Users/Jeet Chatterjee/NLP/sentiment_analysis_twitter.py", line 25, in <module>
scoreFileWriter.writerow([tweet.text,analysis.sentiment])
ValueError: I/O operation on closed file.
我只想在极性,主观性和csv文件中的内容三列。 请帮忙
缩进在python中非常重要,否则您的代码块被认为是空的。 在您的情况下, with
块立即结束,因此文件被关闭,这就是您收到此异常的原因。
代码可能看起来像这样:
public_tweets = api.search('Uk election')
with open("sentiment.txt",'w') as scorefile:
scoreFileWriter = csv.writer(scorefile)
for tweet in public_tweets:
print(tweet.text)
analysis = TextBlob(tweet.text)
print(analysis.sentiment)
scoreFileWriter.writerow([tweet.text,analysis.sentiment])
您必须正确缩进代码。 所有文件操作都应包含在with open(....) as ...
块内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.