从文件夹到列表的xml文件

时间:2017-04-10 14:50:06

标签: python xml nlp text-classification

我是编程方面的新手,这是我第一次使用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)

1 个答案:

答案 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