如何使用pandas数据框从磁盘读取和写入文件?

时间:2017-09-15 21:13:30

标签: python-3.x pandas

我将使用非常大的数据文件(许多千兆字节)。我将不得不阅读这些文件并写入这些文件。因此,我将无法依靠RAM来存储数据,并且需要从磁盘读取和写入文件。

我熟悉pandas库提供的read_csvto_csv选项。但是,我不确定read csv函数是否读取文件然后将其存储在RAM上或直接从磁盘读取文件。

使用pandas从磁盘读取和写入文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

pandas.read_csv会将整个文件读入内存。如果您只需要特定列,则可以使用usecols参数指定列和pandas的子集仅加载这些列。

由于您的文件不适合内存,您可以使用split将文件拆分到磁盘上,并对块执行所有操作。

一个简单的替代方法是使用dask.dataframe库中daskread_csv

来自文档:

A Dask DataFrame is a large parallel dataframe composed of many smaller Pandas dataframes, split along the index. These pandas dataframes may live on disk for larger-than-memory computing on a single machine, or on many different machines in a cluster.