我有一本如下形式的字典
>>> {'1' : [V3210 , 234567 ,1235675 , 23], '2' : [v3214 , 5678 ,65879 ,89} , ...}如何将字典写入csv格式,如下所示:
1 V3210 234567 12345675 23
2 v3214 5678 65879 89我试过了:
for key, value in van.iteritems():
w.writerow([key, value])发布于 2019-02-07 08:20:30
import csv
van = {'1' : ['V3210' , 234567 ,1235675 , 23], '2' : ['v3214' , 5678 ,65879 ,89]}
with open('some_name.csv', 'w', newline='') as csvfile:
my_writer = csv.writer(csvfile, delimiter='\t',
quotechar='"', quoting=csv.QUOTE_MINIMAL)
for key, val in van.items():
my_writer.writerow([key] + val)some_name.csv
1 V3210 234567 1235675 23 2 v3214 5678 65879 89
发布于 2019-02-07 08:13:26
你的尝试非常接近。您需要使用* ( "splat“运算符)”解压缩“列表中存储的值:
for key, value in van.iteritems():
w.writerow([key, *value])我认为这应该会在2.7中起作用。请注意,Python2.x将在一年内结束,因此是时候考虑迁移到Python3了。
如果它不起作用,你可以连接列表:
w.writerow([key] + value)底线是writerow期望一个1D列表来表示该行。在连接的情况下,我们必须首先将key包含在一个列表中。否则,我们可以将value列表项解压到主列表中。
https://stackoverflow.com/questions/54564439
复制相似问题