[英]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.