Apabila berurusan dengan data XML, sering kali menjadi perlu untuk memproses dan menganalisis maklumat di dalamnya. Pandas menawarkan alat yang mudah untuk tujuan ini, membolehkan anda menukar XML kepada DataFrames berstruktur.
Mari kita pertimbangkan struktur XML seperti yang diberikan:
<author type="XXX" language="EN" gender="xx" feature="xx" web="foobar.com"> <documents count="N"> <document KEY="e95a9a6c790ecb95e46cf15bee517651">![CDATA[A large text with lots of strings and punctuations symbols [...] ]]></document> <!-- more documents --> </documents> </author>
Matlamatnya adalah untuk menukar XML ini ke dalam DataFrame dengan lajur untuk kunci, jenis, bahasa, ciri, web dan data.
Cekap Pendekatan dengan ElementTree
Untuk mencapainya, kami boleh memanfaatkan xml.etree.ElementTree Python, yang menyediakan cara yang cekap untuk menghuraikan XML. Berikut ialah pendekatan yang dipertingkatkan:
import pandas as pd import xml.etree.ElementTree as ET xml_data = "file_path" etree = ET.parse(xml_data) #create an ElementTree object 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 doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
Dalam pendekatan ini, kami menggunakan fungsi penjana iter_docs untuk mengulangi elemen pengarang dan dokumen, mengekstrak atribut dan data yang berkaitan. Kemudian, kami mencipta DataFrame daripada senarai kamus yang dijana.
Nota tambahan:
Faedah menggunakan ElementTree:
Dengan mengikuti pendekatan ini, anda boleh menukar data XML kompleks kepada format jadual dengan cekap menggunakan DataFrames panda, membolehkan data selanjutnya manipulasi dan analisis.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar data XML dengan cekap kepada Pandas DataFrame dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!