导入nco包:TypeError:类型为“ NoneType”的对象没有len()

时间:2020-05-17 21:38:15

标签: python package netcdf nco cdo-climate

我正在尝试使用nco软件包使用ncrcat合并多个netcdf文件。这本身很容易做到,但我无法超越第二行:

from nco import Nco
nco=Nco()

mrms1= nc.Dataset("/Users/arian/project/data/mrms_20190501/20190501_190000.nc")
mrms2= nc.Dataset("/Users/arian/project/data/mrms_20190501/20190501_190500.nc")

nco.ncrcat(input=[mrms1, mrms2], output='testnet.nc')

nco = Nco()给出错误的地方:

TypeError: object of type 'NoneType' has no len()

通常,我知道当您尝试从零开始获取长度时会出现此错误,但是据我了解,必须创建此实例才能在脚本中使用ncrcat。

我确定anaconda上有nco和pynco的更新版本。我也尝试使用cdo包来合并文件,而不是文件,但是我得到了相同的错误。我还使用ncrcat作为终端中的命令行,但是我得到了一个“术语不被识别为cmdlet,函数,脚本文件或可操作程序”,因此这是蠕虫的另一罐。另外,netCDF4.MFDataset不起作用,因为数据没有时间维度要聚合,xarray也没有,这会导致TypeError:强制转换为Unicode:需要字符串或缓冲区,找到了Dataset。

基于许多小时的研究,我认为nco len()Typerror是最容易修复的,但是我所提的任何帮助都值得欢迎。预先感谢。

1 个答案:

答案 0 :(得分:1)

两分

1)输入必须是文件名字符串或文件名字符串列表
例如input = [“ 20190501_190000.nc”,“ 20190501_190500.nc”]

2)我不是conda专家,但要运行pynco,nco命令必须位于您的PATH环境变量中