Как я могу использовать dask.dataframe to_csv, когда у меня есть большие данные - PullRequest
0 голосов
/ 11 июля 2019

Я просто хочу сохранить файл CSV, используя dask. Я получил поле данных, размер которого превышает 30 ГБ.с read_csv проблем нет.но после работы мне нужно сохранить его как файл CSV.Не работаетПомогите мне

import dask.dataframe as dd
df = dd.read_csv("E:/bigdata/H_2015_04.dat", sep="|", header=None)
df.to_csv("E:/bigdata/1.csv")

Есть сообщения об ошибках типа ..

Файл "pandas / _libs / parsers.pyx", строка 894, в файле pandas._libs.parsers.TextReader.read "pandas / _libs / parsers.pyx ", строка 916, в файле pandas._libs.parsers.TextReader._read_low_memory" pandas / _libs / parsers.pyx ", строка 993, в файле pandas._libs.parsers.TextReader._read_rows" pandas /_libs / parsers.pyx ", строка 1122, в файле pandas._libs.parsers.TextReader._convert_column_data" pandas / _libs / parsers.pyx ", строка 1167, в файле pandas._libs.parsers.TextReader._convert_tokensli" pandas _parsers.pyx ", строка 1215, в файле pandas._libs.parsers.TextReader._convert_with_dtype" pandas / _libs / parsers.pyx ", строка 1905, в pandas._libs.parsers._try_int64 MemoryError

1 Ответ

1 голос
/ 11 июля 2019

Ошибка памяти из-за размера файла. Вы можете прочитать часть данных одновременно, используя следующий метод

reader = pd.read_csv(file_path, iterator=True)
#Read lines 0 to 1000
chunk = reader.get_chunk(1000)
#Read lines 1000 to 2000
chunk = reader.get_chunk(1000)
...