微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从请求模块python下载数据时解码netCDF文件

如何解决从请求模块python下载数据时解码netCDF文件

我正在尝试从 NASA GES DISC 下载 netCDF 文件。文本文件中有 1000 个 netCDF 文件链接,我想使用请求模块下载它。响应状态码是 200 但文件内容不是我想要的格式。我无法解码。

import requests
result = requests.get(myURL)
result.content.decode()

结果为 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

文件内容以如下格式返回b'\x89HDF\r\n\x1a\n\x00\x00\x00\x00\x00\x08\x08\x00\x04\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff...

我如何解码结果。除了从 url 下载之外,还有其他选择吗?

解决方法

根据您的问题,您有一个提供 netCDF 文件链接的 url 列表,并且您想将它们全部下载。下面的代码向您展示了如何将其保存为临时文件:

import urllib
url = "ftp://ftp.cdc.noaa.gov/Datasets/COBE/sst.mon.ltm.1981-2010.nc"
new = "/tmp/tmp.nc"
urllib.request.urlretrieve(url,new)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。