Python3 CSV模块和字典
对于python来说相当陌生,如果这是一个关于学习如何使用CSV文件的基本问题,请原谅Python3 CSV模块和字典,python,csv,python-3.x,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
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'),然后用统计数据填充字典值
然后,我将创建另一个字典,该字典的key:value为name:dates(我手动添加的日期)
我使用CSV mondule是正确的,还是应该通过标准文件类型并按逗号分隔行来执行此操作?Python有一个内置库,可以将行作为字典为您进行读取 它是
DictReader
而不是reader
使用这种方法,每一行都将是一个字典,而不是一个列表
Python 3
Python 2
在Python2中,模式是'rb'
the_reader = DictReader(open('filename.csv', 'rb'))
对于Python 2中的csv文件,应该是打开的('filename.csv','rb')。在Python3中,模式只是
'r'
。另外,delimiter=','
可以删除,因为这是csv模块的默认设置。哦,这非常有用,以前没有见过。非常感谢您的快速回复。(虽然它是python2,但我对P3有理解)对于其他可能遇到同样问题的人,我也发现了这篇文章-
the_reader = DictReader(open('filename.csv', 'rb'))