【问题标题】:How to convert a dictionary and write it into a CSV file?如何转换字典并将其写入 CSV 文件?
【发布时间】:2020-09-10 14:06:42
【问题描述】:
#!/bin/python

import csv

my_dict = {'Age': ['22', '23', '34'], 'Name': ['Dinesh', 'Suresh', 'Mahesh']}


print(my_dict)

with open('Names.csv', 'w') as f:
    fieldnames = ['Age', 'Name']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    data = [dict(zip(fieldnames, [k, v])) for k, v in my_dict.items()]
    writer.writerows(data)

仅使用 Python 2.7

我想将其写入 CSV 文件,例如:

输出:

【问题讨论】:

    标签: python python-2.7 csv


    【解决方案1】:

    如果您希望有一个不使用 Pandas 的解决方案,这里有一个:

    import csv
    with open('Names.csv', 'w') as f:
        fieldnames = ['Age', 'Name']
        writer = csv.DictWriter(f, fieldnames=fieldnames)
        writer.writeheader()
        data = [{"Name": k, "Age":v} for k, v in zip(my_dict["Sno"], my_dict["Name"])]
        writer.writerows(data)
    

    【讨论】:

      【解决方案2】:

      这是一个简单的 pandas 解决方案。

      import pandas as pd
      
      my_dict = {'Age': ['22', '23', '34'], 'Name': ['Dinesh', 'Suresh', 'Mahesh']}
      
      df = pd.DataFrame(my_dict)
      
      df.to_csv('Names.csv', index=False)
      

      如果您需要重命名您的 Sno 列,您可以使用:

      df.rename(columns={'Sno':'Age'}, inplace=True)
      

      【讨论】:

      • 感谢 Matthew Borish 的解决方案。由于笔记本电脑的 Windows 权限,我无法安装 pandas。
      猜你喜欢
      • 1970-01-01
      • 2013-01-23
      • 2023-03-03
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 2020-06-11
      相关资源
      最近更新 更多