【问题标题】:How to change xml values from a excel file如何从excel文件中更改xml值
【发布时间】:2019-08-20 12:46:38
【问题描述】:

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

我尝试使用 import xml.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中的case ID是12345 row=1,col=2,那就改吧。

【问题讨论】:

  • 请想象一个 excel 文件。有标题,然后是标题下的数据。我必须创建一个新的 xml 文件,但只需从 excel 文件的重要单元格中更改所需的值。我不需要创建新的 xml,我需要使用 python 代码进行查找和替换工作。
  • 您好,我的代码已经完成,感谢大家的帮助! :)

标签: python excel xml pandas numpy


【解决方案1】:

答案是:

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")

【讨论】:

  • 终于,搞定了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 2016-10-25
  • 1970-01-01
  • 2017-03-02
  • 2020-09-11
  • 2018-06-19
  • 1970-01-01
相关资源
最近更新 更多