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

Python3如何提取列表中位置可变的所有order_id数值

提取所有order_id数值的解决方案

嘿,这个问题我之前也碰到过!用split确实不太靠谱,毕竟order_id的位置可能变化,而且字符串里万一有其他类似的内容,很容易提取错误。其实你的输入是标准的JSON格式,直接用Python的json模块来解析是最稳妥的办法,能轻松提取所有order_id的值。

方法步骤:

  • 首先用open读取文件内容,通过json.load()把文件解析成Python可操作的列表/字典结构
  • 遍历data列表中的每一个订单对象,提取对应的order_id字段
  • 把所有提取到的order_id收集到一个列表中

完整代码示例:

import json

# 安全读取文件并解析JSON
with open("你的文件名.json", "r", encoding="utf-8") as file:
    order_data = json.load(file)

# 用列表推导式快速提取所有order_id
all_order_ids = [order["order_id"] for order in order_data["data"]]

# 输出结果
print("所有订单ID:", all_order_ids)

如果是直接处理字符串(比如你给出的示例字符串):

如果你的数据是已经读取到内存中的字符串,用json.loads()解析即可:

import json

# 示例JSON字符串
sample_str = '{"data":[{"order_id":744152,"pedido_venda":"Z921211","supplier_id":11042},{"order_id":744153,"pedido_venda":"Z921212","supplier_id":11043}]}'

# 解析字符串
order_data = json.loads(sample_str)

# 提取order_id
all_order_ids = [order["order_id"] for order in order_data["data"]]
print(all_order_ids)  # 输出: [744152, 744153]

为什么不推荐用split?

  • 当order_id在字典中的位置变化时,split的索引会失效
  • 如果字符串中其他字段的值包含"order_id:"(比如某个备注字段),split会提取错误的内容
  • JSON解析是专门处理这种结构化数据的方式,可靠性和可维护性都远高于字符串分割

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:47:19