假设我有一个包含数千个 GRIB 文件的目录。我想将这些文件加载到 dask 数组中,以便查询它们。我该怎么做呢?下面的尝试似乎有效,但它需要打开每个 GRIB 文件,并且需要很长时间才能运行和我的所有内存。肯定有更好的办法。
我的尝试:
import dask.array as da
from dask import delayed
import gdal
import glob
import os
def load(filedir):
files = sorted(glob.glob(os.path.join(filedir, '*.grb')))
data = [da.from_array(gdal.Open(f).ReadAsArray(), chunks=[500,500,500], name=f) for f in files]
return da.stack(data, axis=0)
file_dir = ...
array = load(file_dir)