Как открыть несколько файлов 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

Другие вопросы по тегам