如何将字典保存到每行一个键值的文件中?

5 python dictionary

我希望文本是一个键:每行计数。现在它将文件保存为普通字典,我无法弄清楚。

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)

Pad*_*ham 5

你可以这样,这是几行带有 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 将写入由冒号分隔的每一对,每行一对。