我希望文本是一个键:每行计数。现在它将文件保存为普通字典,我无法弄清楚。
def makeFile(textSorted, newFile) :
dictionary = {}
counts = {}
for word in textSorted :
dictionary[word] = counts
counts[word] = counts.get(word, 0) + 1
# Save it to a file
with open(newFile, "w") as file :
file.write(str(counts))
file.close()
return counts
Run Code Online (Sandbox Code Playgroud)
你可以这样,这是几行带有 CounterDict 和 csv 模块的:
import csv
def makeFile(textSorted, newFile) :
from collections import Counter
with open(newFile, "w") as f:
wr = csv.writer(f,delimiter=":")
wr.writerows(Counter(textSorted).items())
Run Code Online (Sandbox Code Playgroud)
如果您只想存储键/值对,使用两个字典是没有意义的。单个 Counter dict 将获得所有单词的计数,csv.writerows 将写入由冒号分隔的每一对,每行一对。