繁体   English   中英

从文件夹到列表的xml文件

[英]xml files from folder into list

我是编程方面的新手,这是我第一次使用xml,但是对于我正在使用Blogs数据集进行性别分类项目。 我有一个由xml文件组成的文件夹。 现在我需要在那里列出文件的名称。 然后我应该能够通过循环遍历列表并打开包含XML的每个文件并从中获取我想要的内容(例如Text和class),然后将其存储在另一个变量中,例如将其添加到列表或字典中。

我尝试了一些东西,但这是不对的,我有点卡住了。 有人能帮我吗? 这是我迄今为止的wat:

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(请记住,这个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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM