以简单的Python方式将简单的dict写入csv文件?

以简单的Python方式将简单的dict写入csv文件?,python,csv,dictionary,Python,Csv,Dictionary,我想写一个简单的dict到CSV,以便以后以Pythonic的方式重用 在我看来,我在网上找到的方法并不优雅,也不符合实际,所以我正在寻找更好的解决方案。例如: 输出: 1,a 2,b 3,c 试试这个: import csv dic = {1:"a", 2:"b", 3:"c"} with open('output.csv', 'wb') as f: writer = csv.writer(f)

我想写一个简单的dict到CSV,以便以后以Pythonic的方式重用

在我看来,我在网上找到的方法并不优雅,也不符合实际,所以我正在寻找更好的解决方案。例如:

输出:

1,a
2,b
3,c
试试这个:

  import csv
    dic = {1:"a",
           2:"b",
           3:"c"}
    with open('output.csv', 'wb') as f:
        writer = csv.writer(f)
        for key in dic:
            writer.writerow([key, dic[key]])

你提到的Q&A是不同的。他们假设所有数据的键都是第一行/相同的(因此建议使用
DictWriter

在这里,您的字典被视为键/值对的列表,并且没有顺序,因此如果顺序很重要,只需根据元素对其进行排序(因为键是唯一的,所以只考虑键)

这种方法非常快速,因为您不需要按键访问值(无需)、稳定(由于排序函数,每次输出都是相同的),并且由于
csv.writerows
而不使用循环。如果顺序无关紧要,则将最后一行替换为:

    cw.writerows(dic.items())

csv
模块在写入时会自动将项目转换为字符串,因此当数据类型为整数时(如您的示例中所示)不会出现问题。

可能是一种更具python风格的方式:

with open('dic.csv', 'wb') as csv_file:
    csv.writer(csv_file).writerows(dic.items())

你可以很容易地对付熊猫

 import pandas as pd
 df=pd.DataFrame(sorted(dic.items()))
 df.to_csv("your_file.csv",index=False)

你在网上找到了什么方法,为什么你认为这不是pythonic?请在问题本身中提及这些要点。请补充更多,您尝试了什么,您的期望是什么。没有订购。你想按钥匙的顺序来点吗?不,顺序对我来说无关紧要。
with open('dic.csv', 'wb') as csv_file:
    csv.writer(csv_file).writerows(dic.items())
 import pandas as pd
 df=pd.DataFrame(sorted(dic.items()))
 df.to_csv("your_file.csv",index=False)