我想編寫一個迭代輸出,每個版本都放在csv的新行中。我曾經嘗試這樣做:Python 2.7.10 csv如何在新行中寫入迭代輸出的每個版本
#matching questions
for ind1,key1 in enumerate(file1):
for ind2,key2 in enumerate(file2):
ques1 = file1[key1]
ques2 = file2[key2]
match_ratio = difflib.SequenceMatcher (None, ques1, ques2).ratio()
n = csv.writer(open("output.csv", "wb"))
n.writerow([key1, ques1, key2, ques2, match_ratio])
正如你可以看到,我試圖從不同的字典相互匹配兩個字符串,然後我要輸出每一個鍵和值,比賽比成csv文件,所以我可以在excel中使用輸出。但是,每個變量只有最後一個版本才能獲得輸出結果,我不知道爲什麼。
爲什麼每次都不會將變量輸出到csv的新行中?我該怎麼做才能做到這一點?
提前致謝!
在「wb」模式下,每次比賽結束後打開文件。嘗試「a」模式或將csv.writer與循環外部的行結合使用。 –
試圖以「a」模式打開文件,但現在每行輸出後都有空行。我將處理1000個問題,這會使文件太大。任何方式來解決這個問題? – user241691
您應該將「csv.writer」的開頭和實例移到循環外部。 –