2012-06-08 22 views
5

ich eine XML-Datei mit Tausenden von Linien haben mag:XML Pandas Dataframe

<Word x1="206" y1="120" x2="214" y2="144" font="Times-Roman" style="font-size:22pt">WORD</Word> 

ich es konvertieren möchten (alle es Attribute) zu pandasdataframe. Um das zu tun, könnte ich die Datei mit einer schönen Suppe durchlaufen und die Werte Zeile für Zeile einfügen oder Listen erstellen, die als Spalten eingefügt werden. Ich würde jedoch gerne wissen, ob es eine pythischere Art gibt, das zu erreichen, was ich beschrieben habe. Vielen Dank im Voraus.

Code-Beispiel:

x1list=[] 
x2list=[] 

for word in soup.page.findAll('word'): 
    x1list.append(int(word['x1'])) 
    x2list.append(int(word['x2'])) 
df=DataFrame({'x1':x1list,'x2':x2list}) 
+0

Zeigen Sie uns Ihren Code. – eumiro

+0

@eumiro: ein Codebeispiel hinzugefügt ... – root

Antwort

3

Try this:

DataFrame.from_records([(int(word['x1']), int(word['x2'])) 
         for word in soup.page.findAll('word')], 
         columns=('x1', 'x2')) 
+0

Danke. Ich werde es versuchen. – root