如何从excel文件更改xml值

2024-04-16 06:14:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个需要更改XML标记值的项目。我需要从提供给我的excel文件中替换它们。你知道吗

我试过使用importxml.etree.ElementTree文件并成功地手动更改标记UTHNMA的值,例如:

import xml.etree.ElementTree as ET

for form in root.iter('UTHNMA'):
    form.text = 'id_case=12111'

tree.write('asdf1.xml', xml_declaration=True, method="xml", encoding="UTF-8")

我需要的代码,如何获取数据逐行从excel,并把它作为标签。例如:如果excel的row=1,col=2中的case ID是12345,则更改它。你知道吗


Tags: 文件项目标记importformasxml手动
1条回答
网友
1楼 · 发布于 2024-04-16 06:14:16

答案是:

import xml.etree.ElementTree as ET
import xlrd
wb=xlrd.open_workbook
(r'C:\Users\Desktop\xml\xml.xlsx') 
sheet = wb.sheet_by_index(0)

tree=ET.parse
(r'C:\Users\aniksinh\Desktop\xml\MRO57.xml')
root = tree.getroot()
data = [[sheet.cell_value(r, c) for c in 
range(sheet.ncols)] for r in range(1,sheet.nrows)]

for i in range(sheet.ncols):
    UTHNMA=int(data[i][0])
    for form in root.iter(tag[0]):
        form.text = str(UTHNMA)
tree.write(r'C:\Users\Desktop\xml\new\asdf1'+'
('+str(i)+')'+'.xml', xml_declaration=True, 
method="xml", encoding="UTF-8")

相关问题 更多 >