【问题标题】:User input filename when reading in netCDF files in Python在 Python 中读取 netCDF 文件时的用户输入文件名
【发布时间】:2015-06-10 04:20:26
【问题描述】:

我有一组从 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')

【问题讨论】:

    标签: python netcdf raw-input


    【解决方案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 here 中阅读有关输入/输出的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 2013-09-08
      • 2017-06-18
      • 2015-04-09
      • 2018-08-07
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多