我在编程方面很新,这是我第一次使用 xml,但是对于班级,我正在使用博客数据集进行性别分类项目。我有一个包含 xml 文件的文件夹。现在我需要在那里列出文件的名称。然后我应该能够循环遍历列表并打开每个包含 XML 的文件并从中获取我想要的内容(例如文本和类),然后将其存储在另一个变量中,例如将其添加到列表或字典中.
我尝试了一些东西,但这是不对的,我有点卡住了。有人能帮我吗?这是迄今为止我所拥有的:
path ='\\Users\\name\\directory\\folder'
dir = os.listdir( path )
def select_files_in_folder(dir, ext):
for filename in os.listdir(path):
fullname= os.path.join(path, filename)
tree = ET.parse(fullname)
for elem in doc.findall('gender'):
print(elem.get('gender'), elem.text)
如果要在给定目录中构建所有 xml 文件的列表,可以执行以下操作
def get_xml_files(path):
xml_list = []
for filename in os.listdir(path):
if filename.endswith(".xml"):
xml_list.append(os.path.join(path, filename))
return xml_list
请记住,这不是通过文件夹递归的,它只是假设 xml 文件以 .xml 结尾。
编辑 :
解析 xml 高度依赖于您将使用的库。从您的代码中,我猜您正在使用 xml.etree.ElementTree (请记住,此库对于恶意构造的数据并不安全)。
def get_xml_data(list):
data = []
for filename in list :
root = ET.parse(filename)
data = [ text for text in root.findall("whatever you want to get") ]
return data
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句