Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Fail XML kepada Pandas DataFrame dengan Enam Lajur Khusus?

Bagaimana untuk Menukar Fail XML kepada Pandas DataFrame dengan Enam Lajur Khusus?

Susan Sarandon
Susan Sarandonasal
2024-11-16 15:09:03715semak imbas

How to Convert an XML File to a Pandas DataFrame with Six Specific Columns?

Menukar XML kepada Pandas DataFrame dengan Mudah

Masalah:

Diberikan fail XML dengan struktur tertentu, tugasnya adalah untuk menukarnya menjadi DataFrame panda yang bersih dan teratur dengan enam lajur: 'kunci,' 'jenis,' 'bahasa,' 'ciri,' 'web' dan 'data.'

Penyelesaian:

Kaedah paling berkesan untuk mencapai penukaran ini ialah menggunakan perpustakaan 'xml' standard Python. Pustaka ini menyediakan cara yang mudah untuk menghuraikan dan memanipulasi data XML. Begini cara untuk meneruskan:

  1. Menghuraikan XML: Menggunakan kelas 'ElementTree' daripada pustaka 'xml', menghuraikan fail XML ke dalam objek ElementTree.
  2. Lelaran ke atas Pengarang: Daripada XML yang dihuraikan, ulangi setiap teg 'pengarang'.
  3. Ekstrak Data Dokumen: Untuk setiap 'pengarang,' ulanginya elemen 'dokumenkan' kanak-kanak dan ekstrak data yang dikehendaki.
  4. Buat Kamus untuk Setiap Dokumen: Cipta kamus untuk setiap 'dokumen' yang mengandungi data yang berkaitan, termasuk kandungan teks.
  5. Tukar Kamus kepada DataFrame: Akhir sekali, tukar senarai kamus menjadi DataFrame panda.

Coretan Kod:

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

xml_data = "<author..>...</author>" # Replace with your XML string

etree = ET.parse(xml_data)

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

doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))

print(doc_df)

Kaedah ini memastikan penukaran data XML yang sistematik dan cekap kepada DataFrame yang memenuhi format yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Fail XML kepada Pandas DataFrame dengan Enam Lajur Khusus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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