2015-12-07 57 views
0

我有一個CSV,看起來像this除了明顯更大。我需要做的是迭代整個CSV並將每個人分配到他們自己的字典中,然後創建這些字典的列表。我一直在削減這一點,我需要一些指導和幫助。以下是我迄今爲止:迭代通過CSV並分配到字典

with open('filename.csv', mode ='r') as file: 
    reader = csv.reader(file, delimiter = ',') 
     for row in itertools.islice(lvr, 0, 3): 
      #here is where I am stuck 

所以基本上這是什麼,是我很難搞清楚:

  1. 我如何採取這一信息,並把它放在它自己的字典,像鑰匙'name','address','city','date'和'amount'?
  2. 你怎麼每步三步?
+0

[相關](http://stackoverflow.com/questions/312443/how-do-你分裂成一個大小不等的塊在Python中) –

+0

你的csv是否有字典鍵名稱的標題? –

回答

2

您可以使用DictReader

import csv 
with open('names.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     print(row['first_name'], row['last_name']) 

每一行都將是一個字典。您可以隨意存儲(將它們附加到列表中,等等)

它將使用第一行作爲字典鍵。如果您的csv在第一行沒有字段名稱。您可以手動將它們傳遞到DictReader

reader = csv.DictReader(csvfile, fieldnames=['first_name', 'last_name']) 

要每隔3號線迭代

for row in itertools.islice(reader, 0, None, 3): 
    ...