如何在Python中从API生成的数据中筛选特定值
步骤说明
假设你的API返回JSON格式数据,我们可以用Python的requests库获取数据,提取目标字段后计算二者总和,具体实现如下:
代码实现
import requests def calculate_premium_brokerage_total(): # 替换为你的实际API接口地址 api_url = "https://your-api-endpoint.com/data" try: # 请求API并解析返回的JSON数据 response = requests.get(api_url) response.raise_for_status() # 捕获HTTP请求类错误 api_data = response.json() # 提取目标字段(根据API实际数据结构调整键路径,示例为顶层字段) # 若字段在嵌套结构中,改为类似 api_data['summary']['premium'] 的写法 premium = float(api_data.get('premium', 0)) # 键不存在时默认取0 brokerage = float(api_data.get('brokerage', 0)) # 计算总和 total = premium + brokerage print(f"当日总利润(Premium): {premium}") print(f"手续费(Brokerage): {brokerage}") print(f"二者总和: {total}") return total except requests.exceptions.RequestException as e: print(f"API请求失败: {e}") return None except (KeyError, ValueError) as e: print(f"数据解析异常: {e}") return None # 执行计算 calculate_premium_brokerage_total()
注意事项
- 务必将
api_url替换为你的真实API地址。 - 如果API返回的是嵌套数据结构(比如红框标记的字段在某个子对象内),需要调整字段的提取路径,确保和实际数据结构匹配。
- 使用
get()方法获取字段可以避免键不存在时抛出异常,设置默认值0能保证计算流程不中断。 - 转换为
float类型是为了确保数值可以正常相加,避免字符串类型导致的运算错误。
内容的提问来源于stack exchange,提问作者Sandeep Yadav
相关产品推荐
相关产品推荐

