[英]Open and parse multiple XML files from a folder
以下Python代码适用于一种XML。 当我尝试打开并解析多个具有相似结构并保存在文件夹中的XML文件时,就会出现问题(第4行-> data = open('[0-9] .xml',“ rb”)。我正在尝试使用正则表达式,但是我不确定这是否也适用于命名文档。
所有文档的名称为“ 11111.xml,22222.xml,33333.xml ...” ,依此类推。
import xml.etree.ElementTree as ET
import re
data = open ('[0-9].xml',"rb")
tree = ET.parse (data)
lst_jugador = tree.findall('data_panel/players/player')
for jugador in lst_jugador:
print (jugador.find('name').text, jugador.get("id"))
您可以使用glob
模块。
import glob
import xml.etree.ElementTree as ET
filenames = glob.glob("[0-9].xml") # change the pattern to match your case
for filename in filenames:
with open(filename, 'r', encoding="utf-8") as content:
tree = ET.parse(content)
lst_jugador = tree.findall('data_panel/players/player')
for jugador in lst_jugador:
print (jugador.find('name').text, jugador.get("id"))
如果您需要解析目录中的所有文件,则可以使用os.listdir()
from os import listdir
for file in listdir(<your directory>):
#if you have to be more selective inside your directory
#just add a conditional to skip here
with open(file, "rb"):
tree = ET.parse(data)
lst_jugador = tree.findall('data_panel/players/player')
for jugador in lst_jugador:
print (jugador.find('name').text, jugador.get("id"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.