Python XML a CSV

Python XML a CSV

Scopriremo come il linguaggio di programmazione Python può essere utilizzato per convertire i dati dal formato XML in un file CSV in questo post. Python contiene diversi moduli e pacchetti utili che riducono la quantità di codice che utilizziamo nella vita quotidiana. Questa caratteristica di Python la rende un'opzione popolare tra una parte importante della comunità degli sviluppatori, in particolare per i data scientist. Python è anche preferito da molti a causa della sua affidabilità e facilità. Ciò ha il vantaggio significativo di lavorare con set di dati di grandi dimensioni semplici.

Cos'è XML?

XML è un'abbreviazione del linguaggio di markup estensibile. L'uso di XML nei servizi Web è essenziale o che svolge un ruolo chiave/importante nei servizi Web. Ciò semplifica il trasferimento dei dati tra diverse piattaforme. Offre un metodo standardizzato per contrassegnare i dati configurati come una gerarchia o un albero. Diventa un'opzione eccellente nella trasmissione dei dati e nei servizi Web perché semplifica la complessità e consente di leggere i dati da numerose app incompatibili. XML può essere generalmente un po 'più pesante. Se stai trasferendo più dati, implica che richiederai anche più runtime, spazio extra e velocità di trasferimento. Gli utenti generali non possono leggere i dati in formato XML. Potrebbe essere necessario modificare questa struttura o formato per renderlo più intuitivo e leggibile.

Cos'è CSV?

CSV è un'abbreviazione di "valori separati da virgola". Una virgola viene utilizzata per separare i valori dei dati in un file CSV. I dati sono archiviati in una struttura tabulare in questo popolare formato di file. Il formato di file di CSV è supportato da applicazioni o strumenti di quasi tutti i linguaggi di programmazione noti. Poiché i clienti generali non possono comprendere o leggere le informazioni in formato XML, potrebbe essere necessario convertirle in un formato più intuitivo come CSV. Un file CSV può essere prontamente importato, esportato e convertito in qualsiasi tipo di file nello sviluppo web.

Crea un file XML in Python

Questo articolo si concentra principalmente sulla conversione di XML in CSV. Ma per essere un buon sviluppatore di Python, dovresti prima sapere come possiamo creare un file XML usando Python. È possibile creare un file XML in Python utilizzando uno dei seguenti metodi:

Metodo 1: creazione di XML usando il modulo Minidom

Per usare l'XML.Dom () Funzione, importiamo prima il modulo Minidom. L'elemento radice viene quindi creato e aggiunto a XML. Successivamente, creiamo un prodotto figlio del nome del genitore, "Python". Dopo aver creato il prodotto figlio, è possibile salvare il nome del file di tua scelta. Ricorda di includere il ".Estensione XML "con il nome del file specificato. L'interfaccia DOM Modello Object Model (DOM) è minimamente implementata utilizzando il modulo Minidom che ha un'API identica ad altre lingue. Mira ad essere sia molto più piccolo che più semplice di quello completo.

Produzione:

Il file XML viene creato nella directory corrente.

Metodo 2: creazione di XML usando il Modulo ElementTree

Per iniziare, dobbiamo importare "XML.Etree.ElementTree ”prima per creare una sottostruttura. Successivamente, creiamo l'elemento root, che deve essere nel blocco previsto per evitare un errore. Possiamo semplicemente creare o definire una struttura ad albero dopo la creazione dell'elemento radicale. Quindi, salviamo il file con ".Estensione XML ". Possiamo dividere un documento usando ElementTree in una struttura di albero gestibile.

Produzione:

Come puoi vedere, il nostro file XML viene creato. Possiamo anche aprirlo utilizzando i browser Web per visualizzare il contenuto.

Come cambiare XML in CSV in Python

Come abbiamo imparato come creare file XML in Python, ora discutiamo di come convertire i file XML in CSV. Le seguenti fasi sono in genere coinvolte nella conversione di XML in CSV:

  1. Leggi il file XML.
  2. Crea un CSV.
  3. Il file CSV dovrebbe essere data un'intestazione contenente i campi che devono essere inclusi.
  4. Crea una nuova riga nel file CSV ed estrai i campi necessari per ciascun elemento XML.

Metodo 1: convertire XML in CSV usando Python semplice

Innanzitutto, esamineremo un metodo per la conversione da XML a CSV che non richiede alcuna libreria aggiuntiva da installare. Python ha un modulo chiamato XML.Etree.ElementTree che può essere usato per manipolare XML. Questo è lo stesso modulo che abbiamo usato per creare il file XML. Questo modulo ti rende semplice produrre e analizzare i file XML. Il seguente codice importa i dati in XML, estrarre le informazioni sugli studenti (nome, rollio e corso) e genera un record/riga nel CSV per ogni studente. Vengono utilizzate tre funzioni chiave per farlo:

ElementTree.parse (): Utilizzato per importare i dati XML.

trova tutto(): Individua tutti gli elementi che sono i bambini diretti dell'elemento corrente e hanno il tag fornito.

Trovare(): Con il tag specificato, questa funzione individua il primo elemento figlio.

Produzione:

Metodo 2: conversione di XML in CSV usando panda

Sebbene ci siano molte funzioni e librerie per analizzare l'XML, utilizziamo il modulo ElementTree per questo esempio. L'intero file XML viene analizzato e memorizzato sotto forma di un albero usando il modulo ElementTree. Per analizzare l'XML, include il metodo Parse (). Il metodo getRoot () dell'albero restituisce l'elemento radice dell'albero. Iteliamo sull'albero usando un ciclo per loop e i dati vengono recuperati utilizzando i nomi dei tag. Il modulo Pandas viene utilizzato per archiviare i dati analizzati in un frame dati. Quindi, utilizziamo la funzione TO_CSV (), che è fornita da Panda, per convertire il frame dati in CSV.

Produzione:

Metodo 3: convertire XML in CSV usando il modulo XMLToDICT

Convertire un XML in un oggetto PY o un oggetto Python è un altro approccio per lavorare con XML. Ciò consente di cercare elementi direttamente all'interno del file XML senza fare alcuna elaborazione XML. Il codice che segue esegue la stessa attività del codice che lo precede. Ma invece di usare XML.Etree per analizzare l'XML, utilizza il modulo XMLTODICT. È necessario installare singolarmente l'XMLTODICT perché è un modulo di terze parti.

Con l'aiuto del .PASE () FUNZIONE DAL MODULO XMLTODICT, È possibile accedere semplicemente ai dati leggendo XML e convertindolo in un dizionario ordinato.

Produzione:

Metodo 4: conversione di XML in CSV usando il modulo disgustoso

Ultimo ma non meno importante, è possibile utilizzare il modulo Python distratto per convertire XML in CSV. Districare un file XML e rende i dati prontamente disponibili, proprio come XmlToDict. Poiché Urngle è anche un modulo di terze parti, è necessario installarlo separatamente tramite il comando PIP:

Lo script che segue importa i dati di un file XML, genera un CSV e quindi utilizza il modulo disglista per estrarre i dati dall'XML e scriverli nel CSV.

Produzione:

Conclusione

In questo tutorial, abbiamo discusso dei molteplici metodi per convertire XML in CSV in Python. Come abbiamo dimostrato, alcune librerie in Python possono essere utilizzate per la conversione XML a CSV. Puoi sceglierne uno a seconda delle tue esigenze. Se tutto ciò che vuoi fare è convertire XML in CSV, il modulo Python incorporato per XML.Etree offre le migliori prestazioni. Tuttavia, XMLTODICT è uno strumento estremamente utile se è necessario creare un file XML.