如何在python中将多个列表转换为字典?

时间:2013-07-17 14:41:49

标签: python parsing csv dictionary

['*a*', '*b*', '*c*', '*d*', '*f*','*g*']
['11', '22', '33', '44', '', '55']
['66', '77', '88', '', '99', '10']
['23', '24', 'sac', 'cfg', 'dfg', '']

需要输入字典:

{a : ('11','66','23'),b : ('22','77','24'),c : ('33','88','sac'),d :('44','','cfg')}

从CSV文件中读取行:

import csv
csvFile = csv.reader(open("sach.csv", "rb"))
for row in csvFile:
    print row

上面显示的代码, 行的输出如上所示,其中包含许多列表。 请帮我把它换成字典格式,如上所示。

1 个答案:

答案 0 :(得分:7)

压缩行:

with open("sach.csv", "rb") as csv_infile:
    reader = csv.reader(csv_infile)
    yourdict = {r[0].replace('*', ''): r[1:] for r in zip(*reader)}

zip() function为您配对,通过使用reader参数传入*对象,Python将遍历CSV行并将每一行作为单独的参数传递给{ {1}}。