在 python 中,需要保存所有结果,而不仅仅是最后一个结果

in python , need to save all results, not last result only

这是计算文件中单词数的有效代码,但是 问题是 (result.csv) 只包含最后一个结果,而不是所有结果。

修复后的代码应该是什么样子?

谢谢

import re
import string

frequency = {}


out_filename = "result.csv"
headers = "word,requency \n"

document_text = open('joined.xml', 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)


for word in match_pattern:
    count = frequency.get(word,0)
    frequency[word] = count + 1

frequency_list = frequency.keys()

for words in frequency_list:
    print(words, frequency[words])

with open(out_filename, "w") as fw:
  fw.write(headers)
  fw.write(words + ", " + str(frequency[words]) + "\n")

您应该遍历所有词频对并将每个词频对写到单独的行中。

with open(out_filename, "w") as fw:
  fw.write(headers)
  for word, freq in frequency.items():
      fw.write(word + ", " + str(freq) + "\n")