我是编程方面的新手,这是我第一次使用xml,但是对于我正在使用Blogs数据集进行性别分类项目。 我有一个由xml文件组成的文件夹。现在我需要在那里列出文件的名称。 然后我应该能够通过循环遍历列表并打开包含XML的每个文件并从中获取我想要的内容(例如Text和class),然后将其存储在另一个变量中,例如将其添加到列表或字典中
我尝试了一些东西,但这是不对的,我有点卡住了。有人能帮我吗?这是我迄今为止的观察:
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)
答案 0 :(得分:0)
如果要构建给定目录中所有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(请记住,这个lib对于恶意构造的数据是不安全的)。
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