如何以列形式保存csv中的dict,其中第一行是键,下一行是向量?

如何以列形式保存csv中的dict,其中第一行是键,下一行是向量?,第1张

概述我有一个dict,其形式如下: Sigs_dict['a']=[1,2,3,4,5]Sigs_dict['b']=[6,7,8,9,0]Sigs_dict['c']=[1,2,3,4,5] 我想要一个csv文件,其中第一行是dict的键,下一行是列形状的向量. 喜欢: a b c1 6 12 7 23 8 34 9 45 我有一个dict,其形式如下:

Sigs_dict['a']=[1,2,3,4,5]Sigs_dict['b']=[6,7,8,9,0]Sigs_dict['c']=[1,5]

我想要一个csv文件,其中第一行是dict的键,下一行是列形状的向量.
喜欢:

a    b    c1    6    12    7    23    8    34    9    45    0    5

我现在拥有的是第一行,但我不明白如何正确地写入向量.

with open(filename[0],'w') as f:    writer = csv.writer(f,delimiter = ' ')    writer.writerow(Sigs_dict.keys())    #missing something here

所有向量都具有相同的长度.

解决方法 使用 zip built-in的简单选项(没有pandas依赖,eventhough pandas允许更少的代码行):

my_dict = {}my_dict['a'] = [1,5]my_dict['b'] = [6,0]my_dict['c'] = [1,5]# get keys and values in the same order,in this case,sorted by key# key_List = sorted(my_dict.keys())key_List = [k for k,_ in sorted(my_dict.items())]val_List = [v for _,v in sorted(my_dict.items())]with open(filename[0],delimiter=' ')    writer.writerow(key_List)    for row in zip(*val_List):        writer.writerow(row)

请注意我如何使用星号(*)解压缩val_List;如果没有解压缩,这将无法按预期工作.

编辑我的代码以具有固定的顺序,以防止列标题和内容之间的不匹配.

总结

以上是内存溢出为你收集整理的如何以列形式保存csv中的dict,其中第一行是键,下一行是向量?全部内容,希望文章能够帮你解决如何以列形式保存csv中的dict,其中第一行是键,下一行是向量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存