Я сортирую данные CSV для электронной таблицы и суммирую значения из разных строк. После использования groupby float () не работает.
Я пытался использовать .strip()
и печатать значения в stdout
, но все они выглядят корректными для меня.
csv_rows
это 2D список строк
# use to store data
totals = {}
# group rows by column name
for key, group in groupby(csv_rows, lambda row: row[1]):
# grab all the floats from another column
values = [float(line[3]) for line in group]
# do the deed
total = sum(values)
# record new data
totals[key] = total
Я пытался:
values = []
for line in group:
if not line[3].isdigit():
print line[3]
else:
values.append(float(line[3]))
Скрипт печатает несколько корректных чисел:
...
0.378
0.468
0.232
...
Не удается с ValueError: cannot convert string to float: OUT_RANGE
Я ожидаю, что все входные данные будут корректными, пригодными для приведения строк.