2017-08-26 67 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