Пользовательское имя файла при чтении в файлах netCDF в Python

У меня есть набор файлов данных о влажности почвы с 1953 по 2014 год. Все они имеют форму cpc_soil_YYYY.nc (где YYYY - один из тех лет). Есть ли способ спросить у пользователя, какой год пользователь хотел бы просмотреть, и моя программа открыла соответствующую функцию? В настоящее время у меня есть это, где я должен вручную изменить год в gedit, и написал функции для захвата каждой переменной (влажность почвы как функция времени, широта, долгота):

    import netCDF4 as nc
    import numpy as np
    import numpy.ma as ma
    import csv as csv

    fid=nc.MFDataset('/data/reu_data/soil_moisture/cpc_soil_1957.nc','r')
    fid.close()
    ncf='/data/reu_data/soil_moisture/cpc_soil_1957.nc'

    def read_var(ncfile, varname):
        fid=nc.Dataset(ncfile, 'r')
        out=fid.variables[varname][:]   
        fid.close()
        return out

    time=read_var(ncf, 'time')
    lat=read_var(ncf, 'lat')
    lon=read_var(ncf, 'lon')
    soil=read_var(ncf, 'soilw')

1 ответ

Решение

Ты можешь использовать input() попросить пользователя ввести год. Затем вы можете использовать это для генерации пути к файлу.

...
year = input("Enter year: "))
filename = '/data/reu_data/soil_moisture/cpc_soil_%s.nc' % (year,)
fid=nc.MFDataset(filename,'r')
fid.close()
...

Вы должны выполнить проверку ошибок, чтобы убедиться, что введенное пользователем значение действительно соответствует году и находится в пределах диапазона ваших данных.

Вы можете прочитать больше о вводе / выводе в Python здесь.

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