繁体   English   中英

CSV数据文件中的Python KeyError

[英]Python KeyError from CSV data file

我收到此错误:

line 121, in <module>
    data=convertData(data,header)
line 86, in convertData 
    Data.append([row[item] for item in header])
KeyError: 'ELEM'

代码是:

def convertData(data,header):
    Data=[]
    for row in data:
        Data.append([row[item] for item in header])   !line 86
    return Data

data=convertData(data,header)       !line 121
writeTable(data,header,'%s %s Data' % (line,lc),'table%s%s.tex' % (line,lc))

数据和标头来自* .csv文件。 .csv数据的示例是:

ELEM  EType     OD      T       Tc      
1     16        2.375   0.462   0.462

我不确定是什么问题。 谁能帮我? 谢谢。

猜测中,您正在使用csv.reader读取.csv文件,该文件将返回数字索引的数据行。

而不是寻找ie row["ELEM"]尝试row[0]

这与您的错误无关,但是如果您想使用numpy来避免这些csv麻烦:

import numpy as np

dat = np.genfromtxt('dat.txt', dtype=float, delimiter='\t', skip_header=1)
print dat    # all data in 2d array

或者,如果您想保留列名:

import numpy as np

dat = np.genfromtxt('dat.txt', dtype=float, delimiter='\t', names=True)
print dat['ELEM']    # the first column accessed by its names

假设 :您的数据列由tab分隔。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM