[英]How to output a dictionary to stdout in csv format in python?
我一直在寻找以 csv 格式将字典输出为标准 output 的方法。
字典具有以下格式
my_dict = {
"column1": ["row1","row2","row3",...],
"column2": ["row1","row2","row3",...],
"column3": ["row1","row2","row3",...]
}
我找到了将字典输出到标准输出的解决方案:
Python:词典列表:如何 - 使用 sys.stdout 进行漂亮的打印输出
我总是可以在 for 循环中只sys.stdout
的每一列和每一行。 但是,我不确定在边缘情况下会发生什么(某些图书馆会这样做)。
我还找到了将字典输出到 csv 的解决方案: How do I write a Python dictionary to a csv file?
但是,这些总是将字典写入文件 object 而不是标准输出。
我的问题是有没有办法以 csv 格式将字典输出到 stdout(也处理边缘情况,例如:带有,
和"
字符的行值会损坏 csv 文件)?
您始终可以将 StringIO 用于需要类似文件StringIO
的方法。 此外DictWriter
不是完成此任务的正确工具,因为它适用于dict
list
:
import csv
from io import StringIO
my_dict = {
"column1": ["row1", "row2", "row3",],
"column2": ["row1", "row2", "row3",],
"column3": ["row1", "row2", "row3",]
}
f = StringIO()
writer = csv.writer(f)
writer.writerow(my_dict.keys())
writer.writerows(zip(*my_dict.values()))
print(f.getvalue())
这将打印
column1,column2,column3
row1,row1,row1
row2,row2,row2
row3,row3,row3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.