将csv中的选定列转换为字典 [英] Convert selected columns in csv to dictionary

查看:157
本文介绍了将csv中的选定列转换为字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个名为archive的csv文件。它作为一个读者打开。我想创建一个字典,其值(k,v) {row [0] + row [2]:row [7] } 为csv文件中的每一行。必须有一个简单的直接方法将这个csv转换为一个字典,其中 k = row [0] + row [2] v = row [7]

I have a csv file called "archive". It is opened as a reader. I wish to create a dictionary whose values (k,v) are made from {row[0]+row[2]:row[7]} for each row in the csv file. There must be a simple straight forward way to turn this csv into a dictionary where k = row[0]+row[2] and v = row[7].

# 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 


推荐答案

最简单的方法是使用字典理解:

The easiest way to do this is to use a dictionary comprehension:

arch_dict = {row[0]+row[2]: row[7] for row in archive}

重新使用旧版本的Python:

If you're on an older version of Python:

arch_dict = {}
for row in archive: 
    arch_dict[row[0]+row[2]] = rows[7]

这篇关于将csv中的选定列转换为字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆