Python XML zu CSV

Python XML zu CSV

Wir werden feststellen, wie die Python -Programmiersprache verwendet werden kann, um Daten aus dem XML -Format in eine CSV -Datei in diesem Beitrag umzuwandeln. Python enthält mehrere nützliche Module und Pakete, die die Menge an Code reduzieren, die wir im täglichen Leben verwenden. Dieses Merkmal von Python macht es zu einer beliebten Option in einem Großteil der Entwicklergemeinschaft, insbesondere für Datenwissenschaftler. Python wird auch aufgrund seiner Zuverlässigkeit und Leichtigkeit von vielen bevorzugt. Dies hat den erheblichen Vorteil, mit großen Datensätzen einfach zu arbeiten.

Was ist XML?

XML ist eine Abkürzung der erweiterbaren Markup -Sprache. Die Verwendung von XML in Webdiensten ist unerlässlich oder spielt eine wichtige/wichtige Rolle in Webdiensten. Dies macht es einfach, die Daten zwischen mehreren Plattformen zu übertragen. Es bietet eine standardisierte Methode zum Kenneln der Dateneinrichtungen wie eine Hierarchie oder einen Baum. Es wird zu einer hervorragenden Option bei Datenübertragungs- und Webdiensten, da es die Komplexität vereinfacht und die Daten von zahlreichen inkompatiblen Apps gelesen werden können. XML kann im Allgemeinen etwas schwerer sein. Wenn Sie mehr Daten übertragen, bedeutet dies, dass Sie auch mehr Laufzeit, zusätzlichen Speicherplatz und Übertragungsgeschwindigkeit benötigen. Allgemeine Benutzer können die Daten nicht im XML -Format lesen. Diese Struktur oder dieses Format muss möglicherweise geändert werden, um sie benutzerfreundlicher und lesbarer zu gestalten.

Was ist CSV?

CSV ist eine Abkürzung von „von Kommas getrennten Werten“. Ein Komma wird verwendet, um die Datenwerte in einer CSV -Datei zu trennen. Die Daten werden in einer tabellarischen Struktur in diesem beliebten Dateiformat gespeichert. Das Dateiformat von CSV wird durch Anwendungen oder Tools fast aller bekannten Programmiersprachen unterstützt. Da allgemeine Clients die Informationen im XML-Format nicht verstehen oder lesen können, ist es möglicherweise erforderlich, sie in ein benutzerfreundlicheres Format wie CSV umzuwandeln. Eine CSV -Datei kann leicht importiert, exportiert und in einen beliebigen Dateityp in der Webentwicklung konvertiert werden.

Erstellen Sie eine XML -Datei in Python

Dieser Artikel konzentriert sich hauptsächlich auf die Umwandlung von XML in CSV. Um ein guter Python -Entwickler zu sein, sollten Sie zunächst wissen, wie wir eine XML -Datei mit Python erstellen können. Sie können eine XML -Datei in Python mit den folgenden Methoden erstellen:

Methode 1: Erstellen von XML mit dem Minidom -Modul

Die XML verwenden.DOM () Funktion importieren wir zuerst das Minidom -Modul. Das Stammelement wird dann erstellt und zu XML hinzugefügt. Danach erstellen wir ein Kinderprodukt des Namens der Eltern, "Python". Nach dem Erstellen des Kinderprodukts können Sie den Dateinamen Ihrer Wahl speichern. Denken Sie daran, die “einzubeziehen“.XML ”Erweiterung mit dem angegebenen Dateinamen. Die DOM -Schnittstelle (Dokumentobjektmodell) wird mit dem Minidom -Modul mit einer API, die mit anderen Sprachen identisch ist, minimal implementiert. Es zielt darauf ab, sowohl viel kleiner als auch einfacher zu sein als das vollständige DOM.

Ausgang:

Die XML -Datei wird im aktuellen Verzeichnis erstellt.

Methode 2: Erstellen von XML mit der ElementTree -Modul

Zu Beginn müssen wir „xml importieren.ETREE.ElementTree ”zuerst, um einen Subtree zu erstellen. Danach erstellen wir das Stammelement, das sich im beabsichtigten Block befinden muss, um einen Fehler zu vermeiden. Nach der Erstellung des Wurzelelements können wir einfach eine Baumstruktur erstellen oder definieren. Dann speichern wir die Datei mit der “.XML ”Erweiterung. Wir können ein Dokument mit ElementTree in eine überschaubare Baumstruktur teilen.

Ausgang:

Wie Sie sehen können, wird unsere XML -Datei erstellt. Wir können es auch mit den Webbrowsern öffnen, um den Inhalt anzuzeigen.

Wie man XML in Python in CSV wechselt

Als wir gelernt haben, wie man XML -Dateien in Python erstellt, diskutieren wir nun, wie die XML -Dateien in CSV konvertiert werden können. Die folgenden Phasen sind in der Regel an der Konvertierung von XML in CSV beteiligt:

  1. Lesen Sie die XML -Datei.
  2. Erstellen Sie einen CSV.
  3. Die CSV -Datei sollte einen Header erhalten, der die Felder enthält, die enthalten sein müssen.
  4. Erstellen Sie eine neue Zeile in der CSV -Datei und extrahieren Sie die erforderlichen Felder für jedes XML -Element.

Methode 1: Konvertieren von XML in CSV mit einfachem Python

Zunächst prüfen wir eine Methode für XML zu CSV -Conversion, bei der keine zusätzlichen Bibliotheken installiert werden müssen. Python hat ein Modul namens XML.ETREE.ElementTree, mit der XML manipuliert werden kann. Dies ist das gleiche Modul, mit dem wir die XML -Datei erstellt haben. Dieses Modul macht es Ihnen einfach, die XML -Dateien zu produzieren und zu analysieren. Der folgende Code importiert die Daten in XML, extrahiert die Informationen zu den Schülern (Name, Rollen und Kurs) und generiert für jeden Schüler eine Datensatz/Zeile im CSV. Damit werden drei wichtige Funktionen verwendet:

ElementTree.Parse (): Wird verwendet, um die XML -Daten zu importieren.

finde alle(): Es lokalisiert alle Elemente, die die direkten Kinder des aktuellen Elements sind und das bereitgestellte Tag enthält.

finden(): Mit dem angegebenen Tag lokalisiert diese Funktion das erste untergeordnete Element.

Ausgang:

Methode 2: Konvertieren von XML in CSV mithilfe von Pandas

Obwohl es viele Funktionen und Bibliotheken gibt, um das XML zu analysieren, verwenden wir das ElementTree -Modul für dieses Beispiel. Die gesamte XML -Datei wird analysiert und in Form eines Baums unter Verwendung des ElementTree -Moduls gespeichert. Um die XML zu analysieren, enthält es die Parse () -Methode. Die Methode GetRoot () des Baumes gibt das Wurzelelement des Baumes zurück. Wir iterieren über den Baum mit einer für die Schleife und die Daten werden mit den Tag -Namen abgerufen. Das PANDAS -Modul wird verwendet, um die analysierten Daten in einem Datenrahmen zu speichern. Dann verwenden wir die von Pandas bereitgestellte TO_CSV () -Funktion, um den Datenrahmen in CSV umzuwandeln.

Ausgang:

Methode 3: Konvertieren von XML in CSV mit dem XMLTodict -Modul

Das Konvertieren eines XML in ein PY -Objekt oder ein Python -Objekt ist ein weiterer Ansatz für die Arbeit mit XML. Auf diese Weise können Sie direkt in der XML -Datei nach Elementen suchen, ohne die XML -Verarbeitung durchzuführen. Der folgende Code führt dieselbe Aufgabe aus wie der Code, der ihm vorausgeht. Aber anstatt XML zu verwenden.ETREE Um das XML zu analysieren, verwendet es das XMLTodict -Modul. Sie müssen das xmltodict einzeln installieren, da es sich um ein Drittanbietermodul handelt.

Mit Hilfe der .Parse () Funktion vom XMLTodict -Modul können einfach auf die Daten zugreifen, indem Sie das XML lesen und in ein geordnetes Wörterbuch konvertieren.

Ausgang:

Methode 4: Konvertieren von XML in CSV unter Verwendung des Entpackungsmoduls

Zu guter Letzt können Sie das entwirrte Python -Modul verwenden, um XML in CSV umzuwandeln. Das Entgwickeln analysiert eine XML. Da Entpackle auch ein Modul von Drittanbietern ist, müssen Sie es separat über den PIP-Befehl installieren:

Das Skript, das folgt, importiert die Daten einer XML.

Ausgang:

Abschluss

In diesem Tutorial haben wir die verschiedenen Methoden zum Umwandeln von XML in CSV in Python erörtert. Wie wir gezeigt haben, können einige Bibliotheken in Python für XML -zu -CSV -Umwandlung verwendet werden. Sie können eine von ihnen je nach Ihren Anforderungen auswählen. Wenn Sie nur XML in CSV konvertieren möchten, ist das eingebaute Python-Modul für XML.ETREE bietet die beste Leistung. Xmltodict ist jedoch ein äußerst nützliches Tool, wenn Sie auch eine XML -Datei erstellen müssen.