【 OSError: [Errno -51] NetCDF: Unknown file format: b‘../ALL_NO2_H20_O3_T.nc‘】

OSError: [Errno -51] NetCDF: Unknown file format: b’…/ALL_NO2_H20_O3_T.nc

出现的问题原因是这样的

我的.NC类型数据文件有两个,

  1. 从Windows中通过共享文件传到Ubuntu中的,
  2. 另一个是直接在Ubuntu中网页下载的。

当我使用Dataset对其进行读取时,发现报错OSError: [Errno -51] NetCDF: Unknown file format: b’…/ALL_NO2_H20_O3_T.nc’
当我单独读取Ubuntu中下载的数据时,成功!所以问题处在从Windows中传进来的数据文件上。
查询相关博客,有说文件不完整的,有说Ubuntu下安装的NetCDF不支持HDF4格式的NC文件,还有说Windows字体不被Linux识别。

总结来说最简单的是重新在Ubuntu下载数据,在其他数据文件可以使用的情况下,随便动库和字体之类的是不明智的。切在数据的传输中,内存大小有过变化,猜测可能是传输中造成了数据的不完整。

所以先按照文件不完整的方案进行解决,在Ubuntu重新下载数据。
直接下载数据,显示文件格式为zip,而windows下下载时,我使用的官方api,它给的格式是.NC,于是我手动更改成zip,并解压,得到两个.nc文件。
重新读取对应文件,成功!

最终总结,问题出现后,解决问题要从代价最小的方法开始。本问题主要原因还是在下载数据时,某环境官方网站的下载api代码不够无脑,本来是zip格式文件,代码中给的是.nc导致下载后不能直接使用。留意类似的数据网站,下载时可能会因为数据量不同,下载的数据文件格式也会不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值