float () жалуется на значения, которые выглядят действительными - PullRequest
0 голосов
/ 22 июня 2019

Я сортирую данные 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 Я ожидаю, что все входные данные будут корректными, пригодными для приведения строк.

...