Пользовательское имя файла при чтении в файлах 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 здесь.