Python 在列中编写词典项的可能性
我有一个字典,其中键是元组,值是列表Python 在列中编写词典项的可能性,python,Python,我有一个字典,其中键是元组,值是列表 {('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'): [5.998999999999998,0.0013169999, 4.0000000000000972], ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'): [7.89899999, 0.15647999999675390, 8.764380000972, 9.200000000]} 我想将此词典以如下列格式写入cs
{('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'): [5.998999999999998,0.0013169999,
4.0000000000000972], ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'): [7.89899999,
0.15647999999675390, 8.764380000972, 9.200000000]}
我想将此词典以如下列格式写入csv文件:
('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df') ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de')
5.998999999999998 7.89899999
0.0013169999 0.15647999999675390
4.0000000000000972 8.764380000972
9.200000000
我知道使用代码以行格式编写同样的内容:
writer = csv.writer(open('dict.csv', 'wb'))
for key, value in mydict.items():
writer.writerow([key, value])
如何在列中写出相同的内容?有可能吗?提前谢谢
我在此处引用了用于csv的python文档:。没有关于按列写入的信息。我相信您可以找到格式:
>>> d.keys() #gives list of keys for first row
[('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'), ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de')]
>>> for i in zip(*d.values()): #gives rows with tuple structure for columns
print i
(5.998999999999998, 7.89899999)
(0.0013169999, 0.1564799999967539)
(4.000000000000097, 8.764380000972)
对于您的代码,请执行以下操作:
writer = csv.writer(open('dict.csv', 'wb'))
writer.writerow(mydict.keys())
for values in zip(*mydict.values()):
writer.writerow(values)
将不会将()之类的内容添加到csv文件。我相信您可以确定格式:
>>> d.keys() #gives list of keys for first row
[('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'), ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de')]
>>> for i in zip(*d.values()): #gives rows with tuple structure for columns
print i
(5.998999999999998, 7.89899999)
(0.0013169999, 0.1564799999967539)
(4.000000000000097, 8.764380000972)
import csv
mydict = {('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'):
[5.998999999999998, 0.0013169999, 4.0000000000000972],
('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'):
[7.89899999, 0.15647999999675390, 8.764380000972, 9.200000000]}
with open('dict.csv', 'wb') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerow(mydict.keys())
for row in zip(*mydict.values()):
writer.writerow(list(row))
对于您的代码,请执行以下操作:
writer = csv.writer(open('dict.csv', 'wb'))
writer.writerow(mydict.keys())
for values in zip(*mydict.values()):
writer.writerow(values)
不会将()之类的内容添加到csv文件中
import csv
mydict = {('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'):
[5.998999999999998, 0.0013169999, 4.0000000000000972],
('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'):
[7.89899999, 0.15647999999675390, 8.764380000972, 9.200000000]}
with open('dict.csv', 'wb') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerow(mydict.keys())
for row in zip(*mydict.values()):
writer.writerow(list(row))
输出文件dict.csv:
('c4:7d:4f:53:24:be','ac:81:12:62:91:df')('a8:5b:4f:2e:fe:09','de:62:ef:4e:21:de'))
5.998999999999998 7.89899999
0.0013169999 0.1564799999967539
4.000000000000097 8.764380000972
输出文件dict.csv:
('c4:7d:4f:53:24:be','ac:81:12:62:91:df')('a8:5b:4f:2e:fe:09','de:62:ef:4e:21:de'))
5.998999999999998 7.89899999
0.0013169999 0.1564799999967539
4.000000000000097 8.764380000972
只是为了澄清:键是元组,值是列表。只是为了澄清:键是元组,值是列表。如何从输出中删除“(“,”)和“,”符号?我在一个列表中有25K个条目。我无法手动删除它们。我希望它们采用我指定的格式,因为我需要使用excel或R绘制它们-package@JustinCarrey,看看我上面添加的内容。我如何从输出中删除“(“,”)和“,”符号?我在一个列表中有25K个条目。我无法手动删除它们。我希望它们采用我指定的格式,因为我需要使用excel或R绘制它们-package@Justin凯瑞,看看我上面添加的内容。只是出于好奇……即使只有一个键,也就是只有一列,因为程序中的分隔符是“\t”?@Justin:是的,如果少于两列,它也可以正常工作。无论如何,您可以将分隔符更改为逗号。这将把它们放入文件中,因为在这种情况下,由于文件格式的原因,它们在某些地方是必需的。只是出于好奇……即使只有一个键,即由于程序中的分隔符为“\t”,所以只有一列,这行吗?@Justin:是的,如果少于两列,它也可以正常工作。无论如何,您可以将分隔符更改为逗号。这将把它们放入文件中,因为在这种情况下,由于文件格式的原因,在某些地方需要它们。