如何将字典导入到CSV文件中

3

我需要将字典中的数据导出到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

我怎么做呢?


我会用pandas来完成这个任务。df = pd.DataFrame(info).to_csv('a.csv', index=False) - Tom Wojcik
@TomWojcik 从未听说过pandas,但我会尝试一下。谢谢。 - PTaHHHa
1个回答

2
你可以通过以下方式完成你想要做的事情。
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 模块。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接