value1 = 'one'
value2 = 'two'
d = {
'key1': (value1, value2),
'key2': (value1, value2),
'key3': (value1, value2)
}
CSV ="\n".join([k+','+','.join(v) for k,v in d.items()])
#You can store this CSV string variable to file as below
# with open("filename.csv", "w") as file:
# file.write(CSV)
此代码解释了列表理解中发生的情况 .
CSV = ""
for k,v in d.items():
line = "{},{}\n".format(k, ",".join(v))
CSV+=line
print CSV
3 回答
我会用pandas,它可以在一行中完成:
我没有找到足够的理由在这里使用Pandas来解决一个相对简单的问题 .
请注意OP,如果您只想将值存储到文件中以便将其读回,那么请使用JSON而不是CSV . 应尽量减少导出为CSV,以便与非技术人员(可能是Excel用户)进行交互 .
以下是我将它存储在CSV中的方法
此代码解释了列表理解中发生的情况 .
我强烈推荐Pandas .
转换为Pandas DataFrame:
创建CSV文件:
将CSV文件作为DataFrame读回:
将DataFrame转换回原始字典格式:
编辑:既然你提到你在Excel中使用输出文件的目标,Pandas to_excel()和read_excel()可能对你更有用,因为它们更好地保留了转换之间的内容 . 此外,您可能希望完全跳过Excel并使用standard Python scientific stack .