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

Python解析天气API JSON字典:解决Pylance错误并提取指定字段

问题解决与实现方案

1. 语法错误原因及修复

你写的data = del data['main']['humidity']是语法错误——del是Python的语句,不是可以赋值的表达式,直接执行del data['main']['humidity']就能删除该字段。但更推荐直接提取你需要的字段,而非删除不需要的,这样更安全且符合数据处理的最佳实践。

2. 目标字段提取实现

假设你的解析文件名为weather_parser.py,可以这样实现parse_data函数:

基础提取(假设API返回必含指定字段)

# weather_parser.py
def parse_data(raw_weather_data):
    # 指定需要提取的字段
    target_fields = ['temp', 'feels_like', 'temp_min', 'temp_max']
    # 从raw_weather_data的'main'节点中筛选字段
    return {field: raw_weather_data['main'][field] for field in target_fields}

容错性提取(处理字段缺失情况)

如果担心API返回可能缺少某些字段,可以用get方法避免KeyError:

# weather_parser.py
def parse_data(raw_weather_data):
    target_fields = ['temp', 'feels_like', 'temp_min', 'temp_max']
    parsed_data = {}
    for field in target_fields:
        # 第二个参数为字段缺失时的默认值,可按需修改(比如0或None)
        parsed_data[field] = raw_weather_data['main'].get(field, None)
    return parsed_data

主文件调用示例

# main.py
import requests
from weather_parser import parse_data

weather_api_url = "你的天气API接口地址"
# 直接用response.json()替代json.loads(response.content)更简洁
raw_data = requests.get(weather_api_url).json()

# 调用解析函数获取目标数据
processed_data = parse_data(raw_data)
print(processed_data)

补充说明

  • 用requests.get(url).json()可以直接将响应解析为Python字典,无需手动调用json.loads,更简洁高效。
  • 优先提取目标字段而非删除无关字段,能避免误删原数据中其他可能有用的信息,也让代码逻辑更清晰。

内容的提问来源于stack exchange,提问作者Charnel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:53:24