Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menukar XML kepada Pandas DataFrame dengan cekap?

Bagaimanakah saya boleh menukar XML kepada Pandas DataFrame dengan cekap?

Barbara Streisand
Lepaskan: 2024-11-30 19:46:11
asal
636 orang telah melayarinya

How can I convert XML to a Pandas DataFrame efficiently?

Menukar XML kepada Pandas DataFrame Dengan Cekap

Fail XML selalunya boleh mengandungi data berharga yang boleh dianalisis menggunakan alatan seperti Pandas. Untuk menukar fail XML kepada DataFrame, pendekatan yang berkesan boleh didapati di bawah:

import pandas as pd
import xml.etree.ElementTree as ET
import io

def iter_docs(author):
    author_attr = author.attrib
    for doc in author.iter('document'):
        doc_dict = author_attr.copy()
        doc_dict.update(doc.attrib)
        doc_dict['data'] = doc.text
        yield doc_dict

xml_data = io.StringIO(u'''YOUR XML STRING HERE''')

etree = ET.parse(xml_data) #create an ElementTree object
doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
Salin selepas log masuk

Penjelasan:

  • Fungsi penjana iter_docs berulang sepanjang Dokumen XML, mengekstrak atribut pengarang, atribut dokumen dan kandungan nod teks dokumen ke dalam a kamus.
  • DataFrame Pandas kemudiannya dibina daripada senarai kamus yang dijana oleh fungsi iter_docs.

Nota Tambahan:

The contoh XML yang disediakan dalam soalan menganggap pengarang tunggal. Jika terdapat berbilang pengarang, fungsi penjana tambahan, iter_author, boleh digunakan untuk mengulang setiap pengarang dan menghasilkan semua kamus dokumen masing-masing. Ini memerlukan mengubah suai baris terakhir kod contoh kepada:

doc_df = pd.DataFrame(list(iter_author(etree)))
Salin selepas log masuk

Untuk panduan lanjut tentang bekerja dengan XML dalam Python, rujuk tutorial ElementTree dalam dokumentasi perpustakaan xml.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar XML kepada Pandas DataFrame dengan cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan