【问题标题】:How to write a defaultdict(list) values into separate rows in csv file using Python?如何使用 Python 将 defaultdict(list) 值写入 csv 文件中的单独行?
【发布时间】:2019-12-09 11:55:31
【问题描述】:

我有以下 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.x export-to-csv defaultdict


【解决方案1】:

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

>>> 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

【讨论】:

    猜你喜欢
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    相关资源
    最近更新 更多