如何将单词及其频率写入 CSV 文件中的两个单独的列
How do I write words and their frequencies into two separate columns in CSV file
我有所需的输入(一个 Counter
对象,来自我的 ),它看起来像这样:
(u'twice', 4302),
(u'thru', 4286),
(u'mailing', 4276),
(u'specifically', 4274),
等等
现在,我正在尝试将单词及其频率值写入 CSV 文件。我在下面尝试了以下代码,这是我从该站点上的类似问题中得到的:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for val in cn:
writer.writerow([val])
当我打开 Excel 中的 CSV 文件时,我发现只有单词而不是它们的频率。所以,"specifically" 是 A 列中列出的单词之一,但不是 4274。我想在 A 列中包含单词,在 B 列中包含频率,但我无法获得频率显示在全部.
遍历 Counter
就像遍历字典一样——您只能得到键。 writerow()
需要一个序列,所以 val
是不够的,但是将它括在方括号中使 list
和 [val]
只允许您将该键写为单个列.使用 items()
方法获取键及其关联值:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for pair in cn.items():
writer.writerow(pair)
或者使用每个键索引 Counter
:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for val in cn:
writer.writerow([val, cn[val]])
我有所需的输入(一个 Counter
对象,来自我的
(u'twice', 4302),
(u'thru', 4286),
(u'mailing', 4276),
(u'specifically', 4274),
等等
现在,我正在尝试将单词及其频率值写入 CSV 文件。我在下面尝试了以下代码,这是我从该站点上的类似问题中得到的:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for val in cn:
writer.writerow([val])
当我打开 Excel 中的 CSV 文件时,我发现只有单词而不是它们的频率。所以,"specifically" 是 A 列中列出的单词之一,但不是 4274。我想在 A 列中包含单词,在 B 列中包含频率,但我无法获得频率显示在全部.
遍历 Counter
就像遍历字典一样——您只能得到键。 writerow()
需要一个序列,所以 val
是不够的,但是将它括在方括号中使 list
和 [val]
只允许您将该键写为单个列.使用 items()
方法获取键及其关联值:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for pair in cn.items():
writer.writerow(pair)
或者使用每个键索引 Counter
:
with open("fiancee_wordfreq.csv" , "wb") as f:
writer = csv.writer(f)
for val in cn:
writer.writerow([val, cn[val]])