Память моего ноутбука составляет 8 гигабайт, и я пытался прочитать и обработать большой CSV-файл, и у меня возникли проблемы с памятью. Я нашел решение, которое использует chunksize для обработки фрагмента файла порциями, но по-видимому, когда uisng chunsize формат файла vecoe textreaderfile и код, который я использовал для обработки с ним обычных csvs, больше не работает, этот код я пытаюсь использовать, чтобы прочитать, сколько предложений в файле csv ,
wdata = pd.read_csv(fileinput, nrows=0,).columns[0]
skip = int(wdata.count(' ') == 0)
wdata = pd.read_csv(fileinput, names=['sentences'], skiprows=skip, chunksize=1000)
data = wdata.count()
print(data)
ошибка, которую я получаю, такова: -
Traceback (most recent call last):
File "table.py", line 24, in <module>
data = wdata.count()
AttributeError: 'TextFileReader' object has no attribute 'count'
Я попробовал другой способ, также запустив этот код
TextFileReader = pd.read_csv(fileinput, chunksize=1000) # the number of rows per chunk
dfList = []
for df in TextFileReader:
dfList.append(df)
df = pd.concat(dfList,sort=False)
print(df)
, и это дает ошибка
data = self._reader.read(nrows)
File "pandas/_libs/parsers.pyx", line 881, in pandas._libs.parsers.TextReader.read
File "pandas/_libs/parsers.pyx", line 908, in pandas._libs.parsers.TextReader._read_low_memory
File "pandas/_libs/parsers.pyx", line 950, in pandas._libs.parsers.TextReader._read_rows
File "pandas/_libs/parsers.pyx", line 937, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas/_libs/parsers.pyx", line 2132, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 4