我在将一个XML文件导入到Pandas时遇到了麻烦,因为我需要从两个父 node 获取数据.一个父 node (AgentID
)具有直接在其中的数据,而另一个(Sales
)具有包含数据的子 node (Location
、Size
、Status
),如下所示.
test_xml = '''<TEST_XML>
<Sales>
<AgentID>0001</AgentID>
<Sale>
<Location>0</Location>
<Size>1000</Size>
<Status>Available</Status>
</Sale>
<Sale>
<Location>1</Location>
<Size>500</Size>
<Status>Unavailable</Status>
</Sale>
</Sales>
</TEST_XML>'''
当我try 将其导入到Pandas Dataframe时,下面是我能够获取Sale
标签下的数据的唯一方法.
import pandas as pd
df = pd.read_xml(test_xml, xpath='//Sale')
这为我提供了如下所示的数据帧:
Location Size Status
0 0 1000 Available
1 1 500 Unavailable
我需要的是在DataFrame中也包括AgentID
标签,以获得以下内容,但我没有成功.为清楚起见,预期输出如下:
AgentID Location Size Status
0 0001 0 1000 Available
1 0001 1 500 Unavailable
有没有办法将xpath
参数也包括在AgentID
标记中,或者使用Pandas的read_xml
函数不可能做到这一点?我试着传递一个像xpath=['//AgentID', '//Sale']
这样的列表,但当然,它不起作用……