当我运行下面的代码时,我只能从源文件夹(在下面用“ myfilepath”表示)成功解析一个xml文件(使用指定的xslt文件)。 尽管事实上该源文件夹中有10个xml文件。
我已经尝试了os.dir和glob,但是似乎都没有成功遍历文件夹中的每个xml文件
将非常感谢您的帮助!
import lxml.etree as ET
import pandas as pd
import glob
xml_path = (/"myfilepath")
xslt = (/"myfilepath/results_stylesheet.xsl")
#routine to define pathway to open multiple files
xml_files = glob.glob(xml_path + "/*.xml")
cntr = 1
#perform our parsing operations on all xml files in the named xml_file path above
for file in xml_files:
with open(xml_files, 'r', encoding="utf-8") as content:
data = open(xslt)
xslt_content = data.read()
xslt_root = ET.XML(xslt_content)
transform = ET.XSLT(xslt_root)
for file in xml_files:
dom = ET.parse(content)
result = transform(dom)
with open("Parsed" + str(cntr) + '.csv','w')as outputfile:
outputfile.write(str(result))
outputfile.close()
cntr +=1
我希望代码循环遍历源文件夹中的每个xml文件,使用xslt样式表进行解析,然后将已解析的文件保存到与源文件夹相同的文件夹中的新csv文件中。 我希望每个解析的文件都具有一个命名约定,例如“ Parsed1.csv”,“ Parsed2.csv”等。
答案 0 :(得分:0)
粘贴中的意图似乎有误。就像输出内容在xml_files的for循环之外一样。