При попытке преобразовать в число с плавающей запятой для математических расчетов возникает ошибка - PullRequest
0 голосов
/ 19 июня 2020

Это ошибка, которую он мне дает.

ValueError: не удалось преобразовать строку в float: ''

строка имеет следующее значение (скопировано из консоль pycharm):

283,00 €

После этого фрагмента кода ниже

num = file_row[7].strip('€  /\n')
num= num.replace(",",".")

Он имеет следующее значение:

283.00

Когда я пытаюсь преобразовать это в значение с плавающей запятой, с num = float(num) это дает мне указанную выше ошибку. Из того, что я прочитал перед публикацией, согласно ошибке, он не видит строку для преобразования, но я знаю, что у меня есть значения в строке num в формате xxx.xx, где x = [0,9]

Я печатаю число, чтобы убедиться, что до и после него что-то есть, вот так:

 num= file_row[7]
 print(num)
 num = file_row[7].strip('€  /\n')
 num= num.replace(",",".")
 print(num)

Вывод на печать скопирован с консоли:

283,00 €

283,00

Это то, что показывает stacktrace:

Вывод на печать, скопированный с консоли:

283,00 € 283,00

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Вы должны использовать type(num), чтобы убедиться, что ваше число в настоящее время является правильной строкой. Если это правильная строка, если у вас несколько чисел, убедитесь, что все они числа.

0 голосов
/ 19 июня 2020

Разобрался. Я читаю CSV. и я помещаю все из строки в CSV в список с именем file_row. Но я игнорирую пустые строки из-за более раннего условия, смотрящего на другую строку, заполнена она или нет. Некоторые нет. Для этих строк это вызывает ошибку. Спасибо, ребята и девушки. Вы были fantasti c

...