2
我有一个名为“archive”的csv文件。它作为读者开放。我希望为csv文件中的每一行创建一个字典,其值(k,v)
由{row[0]+row[2]:row[7]}
组成。必须有一个简单的直接方法将此csv转换为字典,其中k = row[0]+row[2]
和v = row[7]
。将csv中的选定列转换为字典
# open archive reader
farchive = open ("wv5archive.csv","rb")
archive = csv.reader(farchive, delimiter=',')
for rows in archive:
arch_dict = {rows[0]+rows[2]:rows[7]}
print arch_dict
你可以写修真预2.7作为'dict(((行[0],行[2]),行[7])存档行)' - 比第二个选项更优雅(或行[0] +行[2] - 无论) – 2012-08-06 16:09:09
@JonClements:是的,但我不知道它是否更优雅... – 2012-08-06 16:10:51
“我的眼睛”。你的回答(对我来说)似乎意味着你必须创建一个空字典,并且如果不使用2.7+,则迭代分配键/ val,并且我们同意情况并非如此......无论如何,我的+1。 – 2012-08-06 16:23:46