私はこのXMLを持っていると私はパンダのデータフレームに解析する:解析XML
<DISTRITO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NOME_DISTRITO>BRAGANCA</NOME_DISTRITO>
<CPE>PT0002000022161425NP</CPE>
<CPE>PT0002000022161458JH</CPE>
<CPE>PT0002000022161471ZP</CPE>
<CPE>PT0002000022161505SL</CPE>
</DISTRITO>
と、これは私のPythonコードです:
from lxml import objectify
from lxml import etree
import pandas as pd
path = '/TestFile.xml'
xml = objectify.parse(open(path))
root = xml.getroot()
data = []
for i in root:
el_data = {}
for child in root.getchildren():
el_data[child.tag] = child.pyval
# print el_data
data.append(el_data)
df = pd.DataFrame(data)
問題があります私は結果を得るとき、それは唯一の最後のノード「」の値を返すこと:
CPE NOME_DISTRITO
0 PT0002000022161505SL BRAGANCA
1 PT0002000022161505SL BRAGANCA
2 PT0002000022161505SL BRAGANCA
3 PT0002000022161505SL BRAGANCA
4 PT0002000022161505SL BRAGANCA
を私は少し私のXMLファイルに掘ったと私が見つかりました。それは私がノードのために同じ名前を得るとき起こること。たとえば、私のファイルがこの場合:
<DISTRITO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NOME_DISTRITO>BRAGANCA</NOME_DISTRITO>
<CPE1>PT0002000022161425NP</CPE1>
<CPE2>PT0002000022161458JH</CPE2>
<CPE3>PT0002000022161471ZP</CPE3>
<CPE4>PT0002000022161505SL</CPE4>
</DISTRITO>
問題はありません。私はたくさんの検索をしていますが、私は解決策を見つけることができません。あなたが私を助け、そのファイルを解析する別の方法を見つけることができれば、私はそれを正しく動作させることができません。
ありがとう!
感謝を。私はちょうどetreeについて少し理解したい、オブジェクト化し、一般的にXMLをPythonでデータフレームに構文解析する方法を理解したい。私は巨大なXMLファイルを持っており、より良い読書のためにそれを表形式のファイルに変換したい。ありがとう!!あなたは私をたくさん助けました。 :) –
@JulianaRivera、確かに、あなたは大歓迎です。 –