我收到此错误:

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

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

===============>>#1 票数:0

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

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

===============>>#2 票数: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分隔。

  ask by user3552921 translate from so

未解决问题?本站智能推荐: