Часть A: меня попросили прочитать данные из CSV-файла, который содержит 2 столбца, и вернуть данные в виде кортежа.
Часть B: Используя данные, возвращенные из CSV-файла, мне нужно было суммировать каждую пару кортежей:
из части А:
def csvReader(filename): #Function for reading .csv file
with open(filename) as file:
reader = csv.reader(file, delimiter=' ')
next(reader, None)
data = [tuple(row) for row in reader]
return(data)
csvReader('data.csv')
Вот что я вернул из части А:
[('60,', '20,'), ('100,', '55,'), ('50,', '40,'), ('20,', '70,'), ('95,', '85,')]
из части Б:
def Plot(filename):
return[sum(i) for i in csvReader(filename)] #summing each pair of tuples
Plot('data.csv')
Я ожидаю что-то вроде:
[80, 155, 90, 90, 180]
И у меня ошибка типа: TypeError: неподдерживаемые типы операндов для +: 'int' и 'str'
' '
в качестве разделителя? Кажется, файл имеет разделитель','
. Ваши кортежи содержат строки (отсюда и кавычки), поэтому вам нужно интерпретировать их как целые числа сint()
. Обратите внимание, что ваш выбор разделителя приводит к включению запятых в строки, вам необходимо исключить их перед использованиемint()
- person Grismar   schedule 29.12.2020