Я пытаюсь прочитать файл CSV, а затем возвращает все данные в список. Сначала я попытался прочитать в файле csv, используя csv.reader
, используя следующий код:
import csv
with open(fileName, 'r') as f:
next(f)
data = csv.reader(f)
dataList = list(data)
, и теперь у меня есть список, который выглядит следующим образом:
[['123', '234', '456', '567']
['345', '3456', '5678', '678']
['2345', '4567', '45678', '56789']
...]
Я заметил, чточисла хранятся в виде строк в списке, поэтому я создал новый список с помощью newList = [int(i) for i in dataList]
и получил это сообщение об ошибке TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
, поэтому я попробовал следующий код, который увидел на Youtube:
with open('fileName', 'r') as f:
next(f)
data = csv.reader(f)
data_lst = []
for line in reader:
data_lst.append([int(line)])
и я получаю это сообщение об ошибке:
ValueError Traceback (most recent call last)
<ipython-input-123-9fbefdb892ab> in <module>
3 data = csv.reader(f)
4 data_lst = []
----> 5 for line in reader:
6 data_lst.append([int(line)])
ValueError: readline of closed file
Кто-нибудь знает, как преобразовать строки в списке в целые числа?
Большое спасибо!
Образец CSV-файла
number1 number2 number3 number4
0 123 456 567 5678
1 4567 3456 6789 2345
....
Мне нужно прочитать этот CSV-файл и сохранить данные в списке, чтобы каждая строка вCSV-файл представляет собой список типа [[123, 456, 567, 5678], [4567, 3456, 6789, 2345]...]