修改开福导出的xml文件以上传全国网

本文介绍如何使用Python的ElementTree库解析XML文件,针对特定元素(具有PZBH和PXBH属性),修改品系编号格式,将PZBH值添加到PXBH值之前,并在保持命名空间一致的情况下保存修改后的XML文件。
摘要由CSDN通过智能技术生成

原始xml文件如下,品系编号仅有数字
开福导出xml文件
修改后xml文件,品系编号为品种+数字
修改后xml文件

# 自带库不需要安装
from lxml import etree
import xml.etree.ElementTree as ET

# 解析XML文件
tree = etree.parse(r"E:\飞书下载\ycpg_gtxx.XML")

# 获取根元素
root = tree.getroot()

# 指定命名空间前缀
namespaces = {"s":'uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882',"dt":'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',"rs":'urn:schemas-microsoft-com:rowset',"z":'#RowsetSchema'}

# 查找具有PZBH和PXBH属性的元素
for element in root.findall('.//*[@PZBH][@PXBH]'):
    pzbh_value = element.get('PZBH')
    # 只取品系编号后两位,避免“YYYY01”等情况
    pxbh_value = element.get('PXBH')[-2:]

    # 将PZBH的值添加到PXBH的值之前
    new_pxbh_value = pzbh_value + pxbh_value

    # 更新PXBH的属性值
    element.set('PXBH', new_pxbh_value)
    
    # 指定命名空间前缀
    for prefix, uri in namespaces.items():
        etree.register_namespace(prefix, uri)
# 保存修改后的XML文件
tree.write(r"E:\飞书下载\ycpg_gtxx_out.xml")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值