Python CSV的有序列到行的Dict?

Python CSV的有序列到行的Dict?,python,Python,假设我有一个以下格式的有序dict: { 'col0': [ 'a','b',...,'z' ], 'col1': [ ... ], ... } 但是,在将字典写入文件时,csv库需要一个行列表: { 'col0': 'a', 'col1': 'b' } { 'col0': 'c', 'col1': 'd' } 如何从如上所述的OrderedDict转换为与csv以最佳方式期望的格式相对应的一组值?(即简单快速)回答: csv.writerow(ordered_dict.keys(

假设我有一个以下格式的有序dict:

{ 'col0': [ 'a','b',...,'z' ],
  'col1': [ ... ],
  ...
}
但是,在将字典写入文件时,
csv
库需要一个行列表:

{ 'col0': 'a', 'col1': 'b' }
{ 'col0': 'c', 'col1': 'd' } 
如何从如上所述的
OrderedDict
转换为与
csv
以最佳方式期望的格式相对应的一组值?(即简单快速)

回答:

csv.writerow(ordered_dict.keys())
csv.writerows(zip(*ordered_dict.values()))

这可能会使您获得预期的输出:

func = lambda y: {'col'+str(i): y[i] for i in range(len(y))}
x = {func(dict(i)) for i in dict}
您可以使用此选项将
dict
转换为csv文件:

import csv

dict = {'a': '1', 'b': 2, 'c': '3'}

with open('data.csv', 'w') as f:
    for key in dict.keys():
        f.write("%s, %s\n" % (key, dict[key]))

你有没有试着读入熊猫然后再写?@Chris为什么我要读入熊猫然后再写?Pandas是一个第三方库,它只是python+numpy的包装器,在a**中是一个P**可供使用。你刚才说的都不是真的。我建议试着把这段话读成熊猫,然后写给csv。如果熊猫不是你的选择,你没有提供足够的输入数据样本来重现你的输出,那么你的col1中有哪些值产生了输出,这将比原生Python更容易、更快?是否有更多的专栏需要关注,或者只关注col0、col1?@G.Anderson为什么不回答我的问题?在这里,我已经弄明白了