Эта ошибка довольно многословна:
ValueError: could not convert string to float: id
Где-то в вашем текстовом файле строка имеет в ней слово id
, которое не может быть действительно преобразовано на номер.
Ваш тестовый код работает, потому что слово id
отсутствует в line 2
.
Если вы хотите поймать эту строку, попробуйте это код. Я очистил ваш код вверх:
#!/usr/bin/python
import os, sys
from scipy import stats
import numpy as np
for index, line in enumerate(open('data2.txt', 'r').readlines()):
w = line.split(' ')
l1 = w[1:8]
l2 = w[8:15]
try:
list1 = map(float, l1)
list2 = map(float, l2)
except ValueError:
print 'Line {i} is corrupt!'.format(i = index)'
break
result = stats.ttest_ind(list1, list2)
print result[1]