Получение ошибки на входе ['trades.csv']: требуется целое число (полученный тип str) - PullRequest
0 голосов
/ 15 октября 2018

Напишите функцию с именем «portfolio_value», которая принимает один параметр, представляющий собой строку, представляющую имя файла, которое содержит все сделки, совершенные вашей компанией в течение года, и возвращает общую стоимость портфеля на дату «2015-12-31».Общая стоимость - это сумма всех количеств акций, находящихся в собственности, умноженная на цену этой акции на конец года.

def portfolio_value(filename):
        sum = 0
        seek_date = date(2015, 12, 31)
        with open(filename) as f:
            reader = csv.reader(f)
            for row in reader:
                y, m, d = row[3].split('-')
                current_date = date(y, m, d)
                if current_date == seek_date:
                    sum += float(row[1]) * float(row[2])
        return sum

Я получаю ошибку при вводе ['trades.csv']: anцелое число требуется (получил тип str) для моего кода.Как я могу решить эту проблему?

1 Ответ

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

Конструкция даты ожидает целые числа для года, месяца и дня.Но вы передаете строки.Вам нужно преобразовать их в целые числа, прежде чем передавать его конструкторам.Как то так:

current_date = date(int(y), int(m), int(d))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...