问题是输出结果未保存在csv文件中。 我正在使用这段代码对正面和负面的单词进行加权。我想保存在csv文件中。首先,读取csv文件,在shell上应用tf-idf和输出显示,但是当结果写入时显示错误在csv文件中。
for i, blob in enumerate(bloblist):
print("Top words in document {}".format(i + 1))
scores = {word: tfidf(word, blob, bloblist) for word in blob.words}
sorted_words = sorted(scores.items(), reverse=True)
print(sorted_words)
final = open("tfidf.csv", "w").write(sorted_words)
print(final)
print("done")
错误是:
Top words in document 1
Traceback (most recent call last):
File "C:\Python34\webcrawler-Final.py", line 38, in <module>
final = open("tfidf.csv", "w").write(sorted_words)
TypeError: must be str, not list
答案 0 :(得分:3)
尝试这个。
sorted_words = ''.join(sorted(scores.items(), reverse=True))
答案 1 :(得分:1)
正如您在帖子中未指定的那样,我不知道哪个是元组值之间的分隔符,所以我添加了'\n'
。您可以将其更改为' '
或任何您想要的内容。
final = open("tfidf.csv", "w").write('\n'.join('%s, %s' % x for x in sorted_words))