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

如何编写Python代码从XML中获取2019年8月King and Queen地区的FIPS值

实现指定条件的FIPS值查询

以下是完善后的完整代码,包含针对2019年8月、King and Queen地区的FIPS值查询逻辑:

import requests
from lxml import objectify

# 替换为你的目标XML数据源URL
xml_url = "你的XML地址"
resp = requests.get(xml_url)
xml_root = objectify.fromstring(resp.content)

# 定义查询参数
target_year = 2019
target_month = 8
target_region = "King and Queen"

matched_fips = None

# 遍历XML节点(根据实际结构调整遍历路径)
for record in xml_root.iter():
    # 检查当前节点是否包含所需字段(需匹配实际XML节点名)
    if all(hasattr(record, field) for field in ['year', 'month', 'area', 'fips']):
        # 类型转换后匹配条件
        if (int(record.year) == target_year 
            and int(record.month) == target_month 
            and record.area == target_region):
            matched_fips = record.fips
            break

# 输出结果
if matched_fips:
    print(f"找到匹配的FIPS值: {matched_fips}")
else:
    print("未找到符合条件的记录")

核心逻辑说明

  • XML节点遍历:xml_root.iter()会遍历所有子节点,如果你的XML有固定的数据节点(比如所有记录都在<data_record>下),可以改为xml_root.data_record.iter()来缩小遍历范围,提升效率
  • 字段匹配:代码中的year、month、area、fips是假设的节点名称,你需要对照实际XML的结构修改这些字段名(比如年份可能是<report_year>,则改为record.report_year)
  • 类型处理:XML节点的文本默认是字符串类型,所以需要将年份和月份转为整数后再与目标值比较,避免字符串匹配的误差
  • 终止遍历:找到第一个匹配项后就break退出循环,减少不必要的遍历

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:35:49