Can';t使用Python将数据集保存在CSV文件中
我有一个CSV文件中的数据集。我想在一个新的csv文件中保存此csv文件的一些列及其行的情绪分数。不幸的是,当我尝试这样做时,唯一的输出是在控制台上,而新文件不包含任何内容。有人知道为什么会这样吗Can';t使用Python将数据集保存在CSV文件中,python,csv,save,dataset,Python,Csv,Save,Dataset,我有一个CSV文件中的数据集。我想在一个新的csv文件中保存此csv文件的一些列及其行的情绪分数。不幸的是,当我尝试这样做时,唯一的输出是在控制台上,而新文件不包含任何内容。有人知道为什么会这样吗 with open('semevalSenti80.csv', 'wb' ) as fileOutput: writer = csv.writer(fileOutput) inpTweets = csv.reader(open('semeval80.csv', 'rb'), deli
with open('semevalSenti80.csv', 'wb' ) as fileOutput:
writer = csv.writer(fileOutput)
inpTweets = csv.reader(open('semeval80.csv', 'rb'), delimiter='"', quotechar='|')
stopWords = getStopWordList('stopwords.txt')
featureList = []
tweetsTrain = []
for row in inpTweets:
if len(row) != 0:
score = 0
tweet = row[1]
processedTweet = processTweet(tweet)
featureVector = getFeatureVector(processedTweet, stopWords)
featureList.extend(featureVector)
for ft in featureVector:
score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", ft)
print score, row
writer.writerow([row[1], score])
if score > 0:
tweetsTrain.append((featureVector, "positive"))
elif score < 0:
tweetsTrain.append((featureVector, "negative"))
else:
tweetsTrain.append((featureVector, "neutral"))
以open('semevalSenti80.csv','wb')作为文件输出的:
writer=csv.writer(文件输出)
inpTweets=csv.reader(open('semeval80.csv','rb'),分隔符=''”,引号='|')
stopWords=getStopWordList('stopWords.txt')
功能列表=[]
tweetsTrain=[]
对于inpTweets中的行:
如果len(row)!=0:
分数=0
tweet=行[1]
processedTweet=processTweet(tweet)
featureVector=getFeatureVector(ProcessedWeet,stopWords)
featureList.extend(featureVector)
对于特征向量中的ft:
分数=分数+获取分数(“SentiWordNet_3.0.0_20130122.txt”,ft)
打印分数,行
writer.writerow([行[1],分数])
如果得分>0:
追加((featureVector,“正值”))
elif评分<0:
追加((featureVector,“负数”))
其他:
append((featureVector,“neutral”))
只需将较大的任务分成较简单的部分。最后两行使用较小的部分组成处理管道来完成较大的任务。有改进的余地,但这会让您产生想法
import csv
stopWords = getStopWordList('stopwords.txt')
def get_tweets(csv_file):
"return list of tweet items"
with open(csv_file, 'rb') as f:
tweets = csv.reader(f, delimiter='"', quotechar='|')
return tweets
def process_score(tweet):
"compute score for given tweet text"
score = 0
processedTweet = processTweet(tweet)
featureVector = getFeatureVector(processedTweet, stopWords)
for feature in featureVector:
score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", feature)
return score
def save_scores(csv_file, tweet_scores):
"save given iterable to csv file"
with open(csv_file, 'wb' ) as f:
writer = csv.writer(f)
writer.writerows(tweet_scores)
tweet_scores = [(tweet[1],process_score(tweet[1])) for tweet in get_tweets('semeval80.csv')]
save_scores('semevalSenti80.csv', tweet_scores)
只需将较大的任务拆分为较简单的部分。最后两行使用较小的部分组成处理管道来完成较大的任务。有改进的余地,但这会让您产生想法
import csv
stopWords = getStopWordList('stopwords.txt')
def get_tweets(csv_file):
"return list of tweet items"
with open(csv_file, 'rb') as f:
tweets = csv.reader(f, delimiter='"', quotechar='|')
return tweets
def process_score(tweet):
"compute score for given tweet text"
score = 0
processedTweet = processTweet(tweet)
featureVector = getFeatureVector(processedTweet, stopWords)
for feature in featureVector:
score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", feature)
return score
def save_scores(csv_file, tweet_scores):
"save given iterable to csv file"
with open(csv_file, 'wb' ) as f:
writer = csv.writer(f)
writer.writerows(tweet_scores)
tweet_scores = [(tweet[1],process_score(tweet[1])) for tweet in get_tweets('semeval80.csv')]
save_scores('semevalSenti80.csv', tweet_scores)
您正在打开
fileIntro.csv
两次。首先,您不应该捕获所有内容,只需执行continue
。显然,您的代码总是引发异常。在之后放置一个断点,除了,或者打印错误消息。@toti08我删除打开的('fileIntro.csv',r')作为fileIntro,
但它仍然happens@Mathias这与错误有关还是只与良好的方法有关?@Mathias此代码并不总是引发异常,因为它会在控制台推文中打印推文及其分数,但不会将其保存在csv中。您要打开fileIntro.csv
两次。首先,您不应该捕获所有内容,只需o a继续
。显然,您的代码总是引发异常。在之后放置一个断点,除了
,或者打印错误消息。@toti08 i删除打开的('fileIntro.csv','r')作为fileIntro,
但它仍然happens@Mathias这与错误有关还是只与好的方法有关?@Mathias这段代码并不总是抛出异常,因为它会在控制台tweets及其分数中打印,但不会将其保存在csv中