我有数百个XML文件,需要从中提取两个值并输出到Excel或CSV文件中。这是我目前拥有的代码:
#grabs idRoot and typeId root values from XML files
import glob
from openpyxl import Workbook
from xml.dom import minidom
import os
wb = Workbook()
ws = wb.active
def typeIdRoot (filename):
f = open(filename, encoding = "utf8")
for xml in f:
xmldoc = minidom.parse(f)
qmd = xmldoc.getElementsByTagName("MainTag")[0]
typeIdElement = qmd.getElementsByTagName("typeId")[0]
root = typeIdElement.attributes["root"]
global rootValue
rootValue = root.value
print ('rootValue =' ,rootValue,)
ws.append([rootValue])
wb.save("some.xlsx")
wb = Workbook()
ws = wb.active
def idRoot (filename):
f = open(filename, encoding = "utf8")
for xml in f:
xmldoc = minidom.parse(f)
tcd = xmldoc.getElementsByTagName("MainTag")[0]
activitiesElement = tcd.getElementsByTagName("id")[0]
sport = activitiesElement.attributes["root"]
sportName = sport.value
print ('idRoot =' ,sportName,)
ws.append([idRoot])
wb.save("some.xlsx")
for file in glob.glob("*.xml"):
typeIdRoot (file)
for file in glob.glob("*.xml"):
idRoot (file)
第一个值遵循1.11.111.1.111111.1.3格式。第二种是字母和数字的混合。我相信这就是错误的原因:
我希望结果在同一行上添加两个值。因此,我将为目录中的每个文件添加一个新行。我需要将第二个值添加到第二行。在
因此:
Value 1 Value 2
1.11.111.1.111111.1.3 10101011-0d10-0101-010d-0dc1010e0101
idRoot是函数的名称。 所以当你写作的时候
你可能是说:
^{pr2}$当然,你可以写一些东西,比如:
前提是两个变量都定义了合理的值。 最后一件事,你应该只保存一次文件。在
相关问题 更多 >
编程相关推荐