python列表写入字典_python – 将列表字典写入CSV文件

这篇博客介绍了如何将包含列表的Python字典写入CSV文件。通过使用`zip()`函数和`csv.writer`,可以方便地将字典的键作为列标题,值作为行数据。如果关心列的顺序,可以通过排序字典的键来实现。示例代码展示了如何创建一个CSV文件,其中键按顺序排列,值对应列表的元素。
摘要由CSDN通过智能技术生成

我正在努力将列表字典写入.csv文件.

这就是我的字典的样子:

dict[key1]=[1,2,3]

dict[key2]=[4,5,6]

dict[key3]=[7,8,9]

我希望.csv文件看起来像:

key1 key2 key3

1 4 7

2 5 8

3 6 9

起初我写了标题:

outputfile = open (file.csv,'wb')

writefile = csv.writer (outputfile)

writefile.writerow(dict.keys())

到目前为止一切都那么好……但是,我的问题是我不知道如何将一个列表分配给相应的列.例如.:

for i in range(0,len(dict[key1])):

writefile.writerow([dict[key1][i],dict[key2][i],dict[key3][i])

将随机填充列.另一个问题是,我必须手动填写密钥,不能将它用于另一个带有4个密钥的字典.

解决方法:

如果你不关心列的顺序(因为字典是无序的),你可以简单地使用zip():

d = {"key1": [1,2,3], "key2": [4,5,6], "key3": [7,8,9]}

with open("test.csv", "wb") as outfile:

writer = csv.writer(outfile)

writer.writerow(d.keys())

writer.writerows(zip(*d.values()))

结果:

key3 key2 key1

7 4 1

8 5 2

9 6 3

如果您关心订单,则需要对密钥进行排序:

keys = sorted(d.keys())

with open("test.csv", "wb") as outfile:

writer = csv.writer(outfile, delimiter = "\t")

writer.writerow(keys)

writer.writerows(zip(*[d[key] for key in keys]))

结果:

key1 key2 key3

1 4 7

2 5 8

3 6 9

标签:python,dictionary,csv

来源: https://codeday.me/bug/20190923/1815385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值