Я использую re.findall вернуть поплавок из определенной строки в файле:Python re.findall плавать вернуться не смог подвести возвращаемые значения
mealReturnValue = re.findall("\d+\.\d+",lines[2])
Пример файл строка он вытягивает из: «Общего Счет был 400,00 "
Это возвращает список чисел следующим образом:
[['400.00'], ['210.0'], ['400.00']]
Я тогда пытаюсь подвести список, однако, он выдает следующее сообщение об ошибке:
Traceback (most recent call last):
File "TotalSpend.py", line 25, in <module>
totalSpend = sum(mealReturn)
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Это похоже на функцию re.findall, поскольку я смог сделать это вручную, создав массив из тех же чисел.
Например:
i = [400.00, 210.0, 400.00]
print sum(i)
Так я не знаю, что реальная проблема здесь, я не могу показаться, чтобы преобразовать re.findall к поплавку я могу использовать в списке.
Любая помощь была бы принята с благодарностью.
Для дополнительной ясности весь код файла:
import os
import sys
import re
dirListing = os.listdir('C:\Users\joshnathan\Desktop\LPTHW')
mealReturn =[] # Array of returned meal values
numberOfMeals = 0
print "Which meal do you want to calculate?"
meal = raw_input(">>")
for item in dirListing:
if meal in item:
numberOfMeals += 1
fileName = open(item, 'r')
lines = fileName.readlines()
mealReturnValue = re.findall('\d+\.\d+',lines[2])
mealReturn.append(mealReturnValue)
print mealReturn
print numberOfMeals
totalSpend = sum(mealReturn)
print totalSpend
Благодаря Джошуа
* Это возвращает список чисел следующим образом * - мммм ... 're.findall' не вернется, что ... вы уверены, что не делаете что-то еще, что вы не показываете нам? (например, при добавлении к списку каждый раз?) –
Добавлен полный файл кода для справки. Спасибо за обновление! – ImNewToThis