У меня есть проблемы со следующим кодом:ValueError: не удалось преобразовать строку плавать:
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.
Представление (подсказка: 'repr()') элемента is ...? –
Представление « –