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还是应该通过标准文件类型执行此操作,并用逗号分隔行?
答案 0 :(得分:12)
Python有一个内置库,可以处理你的行作为词典。
DictReader
代替reader
。
http://docs.python.org/release/3.1.3/library/csv.html#csv.DictReader
使用它,每一行都是字典而不是列表。
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中,模式为'rb'
。
the_reader = DictReader(open('filename.csv', 'rb'))