python - 导入 nco 包:TypeError:“NoneType”类型的对象没有 len()
问题描述
我正在尝试使用 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: coercing to Unicode: need string or buffer, Dataset found。
根据数小时的研究,我觉得 nco len() Typerror 是最容易修复的,但欢迎我提到的任何帮助。提前致谢。
解决方案
两点
1) 输入必须是文件名字符串或文件名字符串列表,
例如 input =["20190501_190000.nc", "20190501_190500.nc"]
2) 我不是 conda 方面的专家,但要运行 pynco,nco 命令必须在您的 PATH 环境变量中
推荐阅读
- javascript - 导入模式弹出窗口时出现错误
- google-cloud-automl - 即使用于训练的图像也会返回错误
- instruments - os_log Instrument 是否暴露了控制台中不可用的消息?
- android - 如何在计算属性中获取构造函数参数
- kubernetes - Istio:嗅探时找不到 TLS 信息
- unity3d - 为 Unity Sprite 的 CG 着色器添加鱼眼效果
- android - React Native 中的实时数据更新图表
- r - 从 True 运算符中查找字符串
- reactjs - 使用 Reactjs 创建 Amazon 克隆应用程序的 Flex 1 显示问题
- javascript - 从 HTML 表格中提取图像