2015-07-20 63 views
0
import csv 
with open('database.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     print(row['NAME']) 

伙计们,我有一个csv文件,第一行作为索引,在linux中从[[NAME]]行读取代码并仅打印列表名称colum NAME,当我在windows上运行时,它说:python中的csv模块的错误

C:\Users\Desktop>python py.py 
Traceback (most recent call last): 
    File "py.py", line 5, in <module> 
    print(row['NAME']) 
KeyError: 'NAME' 

为什么?

+0

'cat database.csv'的输出(第一行)是什么? –

+2

如果将'database.csv'打开为二进制文件,会执行此更改吗? '打开('database.csv','rb')作为csvfile:' –

+0

你应该改变标题,因为它不是一个错误。 – yanana

回答

3

如果您正在使用Python版本的2-,你需要与RB打开CSV,即:

with open('database.csv', 'rb') as csvfile:.... 

参考,结账https://docs.python.org/2/library/csv.html因为它包括在这个读者文档的一部分。

+0

我尝试'rb'的东西,但我得到了错误。 –

+0

根据上面的评论,您打印出csv的位置,其中是您想要查找的名称字段?我假设以......结尾的那一行;是定义列的索引行。 – Javeed