我有以下玩具示例代碼來使用pandas
xml = '''<?xml version='1.0' encoding='utf-8'?>
<data>
<d>10</d>
<d>20</d>
<d>11</d>
<d>2</d>
<d>5</d>
</data>'''
import pandas as pd
df = pd.read_xml(xml,xpath="//data")
結果
>>> df
d
0 5
它似乎只讀取最后一個資料項。
預期結果
但是,我希望DataFrame結果如下:
>>> df
d
0 10
1 20
2 11
3 2
4 5
題
是否可以一次讀取所有d標簽?DataFramepd.read_xml
uj5u.com熱心網友回復:
這不是pd.read_xml. 如果 XPath 產生以下形式的節點串列,則效果最佳:
<row>
<col1>...</col1>
<col2>...</col2>
<col3>...</col3>
</row>
您可以手動決議 XML:
from xml.etree import ElementTree
xml = '''<?xml version='1.0' encoding='utf-8'?>
<data>
<d>10</d>
<d>20</d>
<d>11</d>
<d>2</d>
<d>5</d>
</data>'''
tree = ElementTree.fromstring(xml)
df = pd.DataFrame({
'd': [int(d.text) for d in tree.findall(".//d")]
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443195.html
標籤:Python python-3.x 熊猫 xml
