Python 将xml转换为数据框架

Python 将xml转换为数据框架,python,xml,pandas,nlp,nltk,Python,Xml,Pandas,Nlp,Nltk,我想将nps聊天语料库转换为熊猫数据帧。有16个xml文件 10-19-20s_706posts.xml,10-19-30s_705posts.xml, 10-19-40s_686posts.xml,10-19-成年人_706posts.xml, 10-24-40s_706; posts.xml,10-26-teents_706posts.xml, 11-06-humands_706posts.xml,11-08-20s_705posts.xml, 11-08-40s_706; posts.xm

我想将nps聊天语料库转换为熊猫数据帧。有16个xml文件

10-19-20s_706posts.xml,10-19-30s_705posts.xml, 10-19-40s_686posts.xml,10-19-成年人_706posts.xml, 10-24-40s_706; posts.xml,10-26-teents_706posts.xml, 11-06-humands_706posts.xml,11-08-20s_705posts.xml, 11-08-40s_706; posts.xml,11-08-成人_705posts.xml, 11-08-teents_706posts.xml,11-09-20s_706posts.xml, 11-09-40s_706; posts.xml,11-09-成人_706posts.xml, 11-09-u 706posts.xml

在nps_聊天中,我希望所有人都能进入一个数据帧

以下是语料库中的一篇示例文章:

<!-- edited with XMLSpy v2007 sp1 (http://www.altova.com) by Eric Forsyth (Naval Postgraduate School) -->
<Session xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="postClassPOSTagset.xsd">
    <Posts>
        <Post class="Statement" user="10-19-20sUser7">now im left with this gay name<terminals>
                <t pos="RB" word="now"/>
                <t pos="PRP" word="im"/>
                <t pos="VBD" word="left"/>
                <t pos="IN" word="with"/>
                <t pos="DT" word="this"/>
                <t pos="JJ" word="gay"/>
                <t pos="NN" word="name"/>
            </terminals>
        </Post>
        <Post class="Emotion" user="10-19-20sUser7">:P<terminals>
                <t pos="UH" word=":P"/>
            </terminals>
        </Post>
        <Post class="System" user="10-19-20sUser76">PART<terminals>
                <t pos="VB" word="PART"/>
            </terminals>
我可以使用下面的命令将文本输入到熊猫

from nltk.corpus import nps_chat as nps
import pandas as pd
import numpy as np
chatroom = nps.posts()
df = pd.DataFrame(np.array(chatroom),columns=["text"]) 
输出


有什么方法可以得到这个类吗?这是唯一缺少的部分

像这样的东西怎么样

from nltk.corpus import nps_chat
data = []
for p in nps_chat.xml_posts():
    data.append({"class":p.get("class"), "text": p.text})
df = pd.DataFrame.from_dict(data)
df

像这样的东西怎么样

from nltk.corpus import nps_chat
data = []
for p in nps_chat.xml_posts():
    data.append({"class":p.get("class"), "text": p.text})
df = pd.DataFrame.from_dict(data)
df

我在上面尝试过的可能重复。但这似乎有所不同,因为我必须得到16个文件,而不是1个xml文件。难道你不能循环浏览文件列表吗?可能是我上面尝试过的文件的重复。但这似乎不同,因为我必须得到16个文件,而不是1个xml文件。难道你不能循环浏览文件列表吗?