我有多个(~50)大(每个~1到5gb)csv文件,我想将它们合并到一个大的csv文件中。使用 dask,我创建了一个循环,该循环打开每个 csv 并在循环结束时将所有内容保存到 csv 之前调用合并:
for i, file in enumerate(files):
table = dd.read_csv(file)
if i == 0:
merged = table
else:
merged = dd.merge(merged, table, on = ["id", "time", "key"])
merged.to_csv("merged\merged1810_*.csv")
但是,这样做会导致MemoryError.
我虽然 Dask 应该分块执行计算以避免这些类型的错误,但我的数据对于 Dask 来说是否太大而无法处理?有没有更好的方法来解决这个问题?
肥皂起泡泡
相关分类