【问题标题】:How to import dictionary to csv如何将字典导入csv
【发布时间】:2019-12-29 15:05:32
【问题描述】:

我必须将数据从字典导出到 csv。字典包含列表。我试着像这样导出

with open("info.csv", 'w',newline='')as csvfile:
header = ['Club', 'Stadium']
writer = csv.DictWriter(csvfile, fieldnames=header)
writer.writeheader()
writer.writerow(info)

但结果是

 Club          Stadium
 ['Arsenal,    ['Emirates',
 'AFC', etc.]  'Villia park',etc.]

我想要这个

Club         Stadium
Arsenal      Emirates
AFC          Villia park

我该怎么做?

【问题讨论】:

  • 我会用熊猫来做这件事。 df = pd.DataFrame(info).to_csv('a.csv', index=False)
  • @TomWojcik 从未听说过 pandas,但我会尝试一下。谢谢

标签: python csv dictionary


【解决方案1】:

你可以像这样完成你想做的事情。

import csv

with open('info.csv', 'w', newline='') as f:
    header = info.keys()
    writer = csv.DictWriter(f, fieldnames=header)
    writer.writeheader()
    for pivoted in zip(*info.values()):  # here we take both lists and pivot them
        writer.writerow(dict(zip(header, pivoted))) # pivoted is a 2 element tuple

我经常使用pandas,它基本上是一个单线器,但它可能对你的需求来说有点过头了。

import pandas as pd
df = pd.DataFrame(info).to_csv('info.csv', index=False)

如果您一般不需要使用pandas,最好坚持使用内置的csv 模块。

【讨论】:

    猜你喜欢
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2017-03-29
    • 2017-02-11
    • 2016-02-24
    • 1970-01-01
    相关资源
    最近更新 更多