2017-08-26 106 views
1

我有一个CSV文件看起来是这样的:读取csv文件的第二行成一个字典

username,permission,type,avtar 
user1,op,member,goldilock 
user2,guest 
user3,guest 

的“型”和“avtar”数据仅在第二行(用户1) ,对于user2和user3,这将是空的。 什么,我想实现的是从第二行获得的类型和avtar数据并将它放入一个字典,将是这样的:

{'type': 'member', 'avtar': 'goldilock'} 

我试图使用内置csv.DictReader,我不想为此使用熊猫。我可以使用上述模块将csv文件的所有内容转换为字典,但我不知道如何选择特定的行并将其放入字典中。

以下是我到目前为止的代码,是否可以使用DictReader模块来实现这一点?或者我应该采用另一种方法?

import csv 
inputFile="test.csv" 
with open(inputFile, "rb") as data: 
    reader = csv.DictReader(data) 
    for row in reader: 
     print row['type'] 
+0

通过第二行,你的意思是头后的第一行? –

+0

是的,这就是头后的第一行,当我的意思是额外的行是空的我的意思是不会有数据。只有这两列的第二行保存数据。 (type和avtar) – zig

+0

DictReader这样做,只需遍历它并选择你想要的行。对于练习,您可以循环使用dictreader并打印它 – Vinny

回答

3

如果您只想要一行,请不要使用循环。使用迭代器

reader = csv.DictReader(data) 
row2 = next(reader) 
+0

感谢那正是我正在寻找 – zig