Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3 CSV模块和字典_Python_Csv_Python 3.x - Fatal编程技术网

Python3 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

对于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'),然后用统计数据填充字典值

然后,我将创建另一个字典,该字典的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'))