Как открыть несколько файлов Netcdf, хранящихся в нескольких папках Python
Сейчас я могу открыть несколько файлов netcdf из одной папки с помощью команды, приведенной ниже:
dsmerged = xarray.open_mfdataset('F:/netcdf/example/*.nc')
Однако я не могу открыть несколько файлов netcdf из разных папок или каталогов с помощью этой команды. Предположим, у меня есть несколько файлов netcdf, хранящихся в нескольких папках, так как я могу открыть вместе? Предложения приветствуются.
1 ответ
Из документов вы можете передать строку глобуса (как у вас) или список явных имен файлов, которые нужно открыть. Поэтому я бы сделал следующее:
import glob
# Get a list of all .nc files available in different folders
filenames = glob.glob("/parent/directory/*/*/*.nc")
dsmerged = xarray.open_mfdataset(filenames)
Это работает на Python 2.7 и 3.6.
Обратите внимание, что вам может потребоваться выполнить это несколько раз и объединить возвращенные списки, если не все файлы находятся в одной структуре каталогов. Т.е. если некоторые файлы.nc находятся в /path/one/here/file.nc, а другие - в /path/here/file.nc