首页 > 解决方案 > 如何使用 Python 将 defaultdict(list) 值写入 csv 文件中的单独行?

问题描述

我有以下 defaultdict(list) 并尝试使用 csv writer 将其键写入标题并将其值写入单独的行中。

defaultdict(<class 'list'>, {'Replier Username': ['vindyne8', 'vindyne8', 'denisc', 'denisc', 'vindyne8', 'vindyne8', 'denisc', 'denisc', 'vindyne8', 'vindyne8', 'denisc', 'vindyne8', 'denisc', 'igotBAWS', 'vindyne8', 'vindyne8', 'OneChain', 'denisc', 'denisc', 'vindyne8', 'vindyne8', 'denisc', 'denisc', 'vindyne8', 'denisc', 'denisc', 'vindyne8', 'denisc']})

我想在 csv 文件中得到以下结果:

Replier Username

vindyne8
vindyne8
denisc
denisc
vindyne8
.
.
.

我厌倦了下面的代码,但它是在单独的列而不是单独的行中编写键和值。

with open('myfile.csv', 'w') as f:
    writer= csv.writer(f)
    for k,v in replier_username_dict.items():
        writer.writerow([k] + v)

有人有想法吗?谢谢你。

标签: python-3.xexport-to-csvdefaultdict

解决方案


您快到了。您只需要遍历这些值,因为它包含一个列表。

>>> for key, values in replier_username_dict.items():
...     csvwriter.writerow ([key])
...     for value in values:
...         csvwriter.writerow ([value])
... 
Replier Username
vindyne8
vindyne8
denisc
denisc
vindyne8

推荐阅读