Проблемы с преобразованием строки в плавающее при использовании словаря в списке - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь получить следующий код для распечатки всех строк в файле csv, но ограничиваю столбцы в каждой распечатке значением ключа «Имя», а также делаю отдельный расчет двухсловарные ключи, названные «потраченные последние 12 месяцев» и «потраченные последние 6 месяцев».Я хочу вычесть 6 месяцев из 12 для каждого человека и распечатать это значение как «collectionBalance».Я весь день возился с циклом «for», и я не знаю, как правильно преобразовать значения, связанные с этими двумя ключами, до их вычисления и печати.И эти два значения считаются строками, поэтому я тоже пытался удалить их из кавычек.Ошибка, выдаваемая на меня, выглядит следующим образом:

Traceback (most recent call last):
  File "customer_regex.py", line 11, in <module>
    collectionsBalance = float(data[count]["Spent Past 12 Months"].strip()) - float(data[count]["Spent Past 6 Months"].strip())
ValueError: could not convert string to float: '$6030.52'

import csv
import re
data = []
count = 0


with open('customerData.csv') as csvfile:
  reader = csv.DictReader(csvfile)
  for row in reader:
    data.append(row)
    collectionsBalance = float(data[count]["Spent Past 12 Months"].strip()) - float(data[count]["Spent Past 6 Months"].strip())
    print(data[count]["Name"] + collectionsBalance)
    count = count + 1

1 Ответ

0 голосов
/ 16 октября 2018

попробуйте удалить знак доллара с помощью strip('$'), например:

collectionsBalance = float(data[count]["Spent Past 12 Months"].strip('$')) - float(data[count]["Spent Past 6 Months"].strip('$'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...