Python3 CSV模块和字典

时间:2012-03-08 15:20:21

标签: python csv python-3.x

python相当新,如果这是关于学习如何使用CSV文件的基本问题,请原谅我。

import csv
theReader = csv.reader(open('filename.csv'), delimiter=',')

for line in theReader:
    print line

所以我设法打开了文件,可以在我的屏幕上打印出来。 但我正试图将数据捕获到词典中。

这是示例CSV:

Name,Age,Goals,Passes,Fouls  
Ted,21,1,20,1  
Ben,28,5,14,4  

我现在需要创建一个带有标题的字典作为字典键(最好是跳过'name'),然后用字典值填充字典值。

然后我要创建另一个名字的词典:日期(我手动添加的日期)作为键:值

我甚至是正确使用CSV mondule还是应该通过标准文件类型执行此操作,并用逗号分隔行?

1 个答案:

答案 0 :(得分:12)

Python有一个内置库,可以处理你的行作为词典。

DictReader代替reader

http://docs.python.org/release/3.1.3/library/csv.html#csv.DictReader

使用它,每一行都是字典而不是列表。

Python 3

from csv import DictReader
the_reader = DictReader(open('filename.csv', 'r'))

for line_dict in the_reader:
  print(line_dict)
  # {'Name': 'Ted', 'Age': '21', 'Goals': '1', 'Passes': '20', 'Fouls': '1'}

Python 2

在Python 2中,模式为'rb'

the_reader = DictReader(open('filename.csv', 'rb'))