2012-06-08 4 views
5

Ho un file XML con migliaia di linee come:XML per i panda dataframe

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

voglio convertirlo (tutti i suoi attributi) per pandasdataframe. Per farlo potevo scorrere il file usando una bella zuppa e inserire i valori riga per riga o creare liste da inserire come colonne. Tuttavia mi piacerebbe sapere se c'è un modo più plateale di realizzare ciò che ho descritto. Grazie in anticipo.

Codice esempio:

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

Mostraci il tuo codice. – eumiro

+0

@eumiro: aggiunto un esempio di codice ... – root

risposta

3

Prova questo:

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

Grazie. Farò un tentativo. – root