以简单的Python方式将简单的dict写入csv文件?
我想写一个简单的dict到CSV,以便以后以Pythonic的方式重用 在我看来,我在网上找到的方法并不优雅,也不符合实际,所以我正在寻找更好的解决方案。例如: 输出:以简单的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)
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)