У меня большой размер csv-файла, примерно 6gb, и на загрузку python требуется много времени. Я получаю следующее сообщение об ошибке:Ошибки при загрузке файла .csv с использованием pandas в python
import pandas as pd
df = pd.read_csv('nyc311.csv', low_memory=False)
Python(1284,0x7fffa37773c0) malloc: *** mach_vm_map(size=18446744071562067968) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 646, in parser_f
return _read(filepath_or_buffer, kwds)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 401, in _read
data = parser.read()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 939, in read
ret = self._engine.read(nrows)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 1508, in read
data = self._reader.read(nrows)
File "pandas/parser.pyx", line 851, in pandas.parser.TextReader.read (pandas/parser.c:10438)
File "pandas/parser.pyx", line 939, in pandas.parser.TextReader._read_rows (pandas/parser.c:11607)
File "pandas/parser.pyx", line 2024, in pandas.parser.raise_parser_error (pandas/parser.c:27037)
pandas.io.common.CParserError: Error tokenizing data. C error: out of memory
Я не думаю, что я понять код ошибки, последняя строка, кажется, предполагает, что файл слишком велик для загрузки? Я также попробовал вариант low_memory=FALSE
, но это тоже не сработало.
Я не уверен, что «не может выделить регион» означает, возможно ли, что заголовок включает «область», а панды не могут найти столбец внизу?
вам нужно прочитать файл в куски. Используйте параметр 'chunksize' –
Просто голова по другой причине этого в pandas 0.20.3, у меня есть ошибка ***: нельзя выделить область *** установить точку останова в malloc_error_break для отладки ошибки в скрипте, который Я последний раз работал в предыдущей версии pandas. Причиной в этом случае или, по крайней мере, тем, что исправила ошибку, была опция low_memory = False. Скрипт загружает большой набор данных (1.2Gb), но имеет 32 ГБ ОЗУ, и он и большие наборы данных загружаются с радостью на одном компьютере, но мой скрипт не удалось выполнить с помощью df = pd.read_csv (имя_файла, low_memory = False), пока low_memory = False был удален. – jnPy