the problem is output result is not save in csv file. I'm using this code to weight-age the words positive and negative.I want to save in the csv file.Firstly, read the csv file ,apply tf-idf and output display on shell,but error disply when result write in csv file.
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")
The error is:
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
final = open("tfidf.csv", "w").write(str(sorted_words))- Aviónopen("tfidf.csv", "w").write(" ".join(sorted_words)), This would concatenate your list items and return a string," ".join(['1', '2', '3'])would return1 2 3but if you want to write in the format of list then try @Borja method. - ZdaRPakistaninteresting ;) , you may try", ".join(('India', 10.0))which returnsIndia ,10.0and embedding this in your code:open("tfidf.csv", "w").write(", ".join(sorted_words))- ZdaR