在Dask中处理多个csv

时间:2019-10-05 00:47:38

标签: python dask

我有24个单独的csv文件,分别对应一些月度数据。它们每个在磁盘上大约需要2 GB,但是确切的行数有所不同。 我想在保留每个csv订购时间的同时对其进行预处理。从我在Dask文档中阅读的内容来看,如果我用.repartition()设置了部分数量,它将把所有数据分成24个相等的块,这将导致两个月的样本混合在一个文件中。有什么方法可以分别处理每个文件吗?

1 个答案:

答案 0 :(得分:0)

您可以为dask.dataframe.read_csv函数提供一个指向您所有文件的字符串

import dask.dataframe as dd
df = dd.read_csv("/path/to/*.csv")

Dask可能会正确订购商品。它将按字典顺序对文件进行排序,然后将在每个文件中保持顺序。它可以选择将每个文件分成许多较小的分区,但仍会保留顺序。此外,通过read_csv调用创建的分区不会不必要地混合其他文件。

因此,也许只使用read_csv中的默认分区,而不要尝试自己更改分区。