繁体   English   中英

如何将Twitter的情绪分析结果写入CSV文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM