Когда я запускаю приведенный ниже код, я могу успешно проанализировать только один xml-файл (используя назначенный xslt-файл) из моей исходной папки (обозначается «myfilepath» ниже).
И это несмотря на то, что в этой исходной папке 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" и т. Д.