0

次のコードに問題があります。

inputf = open('test.dat', 'r')
lines = inputf.readlines()
rico_clus_e = []
for line in lines:
    line.split()
    print line
    if (line[0] != '#'):
        rico_clus_e.append(float(line[4]))
inputf.close()

私のtest.datファイルは次のとおりです。

# specn rico_all        rico_all_e  rico_clus   rico_clus_e rico_farclust   rico_far_e  extin
a119        1.07038692  0.11109547  0.61473431  0.15063627  0.32590239      0.14777812  0.207

そして、これにより、端末に次の出力が得られます。

# specn rico_all        rico_all_e  rico_clus   rico_clus_e rico_farclust   rico_far_e  extin

a119        1.07038692  0.11109547  0.61473431  0.15063627  0.32590239      0.14777812  0.207

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    rico_clus_e.append(float(line[4]))
ValueError: could not convert string to float: 

私はこれにかなり混乱しています。スペースとは関係なく、すべてチェックしました。4 を 1、2、または 3 で変更すると、これが機能するため、test.dat ファイルと関係があるはずですが、その方法がわかりません。私はpython 2.7.3を使用しています。

4

1 に答える 1