当我有大数据时如何使用dask.dataframe to_csv

时间:2019-07-11 10:05:14

标签: python dask

我只想使用dask保存CSV文件。我获得了超过30GB的dat fiel。 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.TextReader.read中的文件“ pandas / _libs / parsers.pyx”,第894行   在pandas._libs.parsers.TextReader._read_low_memory中的文件“ pandas / _libs / parsers.pyx”,行916   在pandas._libs.parsers.TextReader._read_rows中,文件“ pandas / _libs / parsers.pyx”,行993   在pandas._libs.parsers.TextReader._convert_column_data中的文件“ pandas / _libs / parsers.pyx”,行1122   在pandas._libs.parsers.TextReader._convert_tokens中的文件“ pandas / _libs / parsers.pyx”,行1167   在pandas._libs.parsers.TextReader._convert_with_dtype中的文件“ pandas / _libs / parsers.pyx”,第1215行   在pandas._libs.parsers._try_int64中的文件“ pandas / _libs / parsers.pyx”,行1905 MemoryError

1 个答案:

答案 0 :(得分:1)

由于文件大小而导致的内存错误。您可以使用以下方法一次读取部分数据

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)