You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从IMD下载降雨数据格式反复不符,请求修正代码获取目标格式

IMD降雨数据下载格式不符问题修正方案

问题核心

你遇到的格式反转问题,本质是下载请求的格式参数与期望格式不匹配,大概率是代码里的参数设置搞反了,或是文件保存后缀与实际请求格式不一致。

具体修正步骤

  1. 核对IMD服务的格式参数定义
    IMD的降雨数据接口通常通过format参数指定输出格式,官方标准映射一般是:

    • 要NetCDF(.nc)格式:设置format='netcdf'(部分接口用fmt='nc',需以IMD官方文档为准)
    • 要.grd格式:设置format='grd'(或fmt='grd')
      检查代码中是否把这两个参数值写反了——比如想要nc时用了grd参数,反之亦然。
  2. 修正文件保存的后缀名
    确保保存文件时的后缀与请求的格式严格对应:

    • 请求NetCDF格式时,保存为*.nc
    • 请求.grd格式时,保存为*.grd
      避免出现请求nc却用.grd后缀保存,或反过来的错误。
  3. 验证HTTP请求头(若涉及)
    部分IMD服务会通过Accept请求头判断输出格式:

    • 要NetCDF:设置headers={'Accept': 'application/netcdf'}
    • 要.grd格式:设置headers={'Accept': 'application/x-grd'}(具体MIME类型需参考IMD官方规范)
      检查代码中是否错误设置了该字段。

示例修正代码(基于图片推测)

假设原代码存在参数反转问题,修正后如下:

# 正确获取NetCDF(.nc)格式数据
import requests

url = "https://imd.gov.in/api/rainfall"
# 设置正确的格式参数
params = {'year': 2023, 'format': 'netcdf'}
response = requests.get(url, params=params)

# 用对应后缀保存文件
with open('rainfall_data.nc', 'wb') as f:
    f.write(response.content)

# 正确获取.grd格式数据
params = {'year': 2023, 'format': 'grd'}
response = requests.get(url, params=params)

with open('rainfall_data.grd', 'wb') as f:
    f.write(response.content)

内容的提问来源于stack exchange,提问作者Usman Hyder Pattoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:00:17