我收到此错误:
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
我不确定问题是什么。谁能帮我?谢谢。
答案 0 :(得分:0)
猜测,您正在阅读带有csv.reader
的.csv文件,该文件返回数字索引的数据行。
而不是寻找ie row["ELEM"]
尝试row[0]
。
答案 1 :(得分: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
分隔。