Whatsapp Telegram Telegram Call Anrufen

Dateiverarbeitung und Serialisierung CSV, JSON und XML in Python


Die Verarbeitung und Serialisierung von Daten ist ein wichtiger Bestandteil vieler Anwendungen. Python bietet eine Vielzahl von Bibliotheken und Modulen, um Daten in verschiedenen Formaten wie CSV, JSON und XML zu lesen und zu schreiben. Außerdem ermöglicht das pickle-Modul die Serialisierung und Deserialisierung von Python-Objekten. In diesem Artikel werden wir diese Konzepte detailliert erläutern und mit Beispielen veranschaulichen.

1. Lesen und Schreiben von CSV-Dateien

Das CSV-Format (Comma Separated Values) ist ein weit verbreitetes Format zum Speichern tabellarischer Daten. Python bietet das csv-Modul zum Lesen und Schreiben von CSV-Dateien.

1.1 Lesen von CSV-Dateien:

import csv

with open('daten.csv', mode='r', newline='') as datei:
    reader = csv.reader(datei)
    for zeile in reader:
        print(zeile)

Ausgabe (angenommen, daten.csv enthält):

['Name', 'Alter', 'Stadt']
['Max', '25', 'Berlin']
['Anna', '30', 'München']

1.2 Schreiben von CSV-Dateien:

import csv

daten = [
    ['Name', 'Alter', 'Stadt'],
    ['Max', '25', 'Berlin'],
    ['Anna', '30', 'München']
]

with open('neue_daten.csv', mode='w', newline='') as datei:
    writer = csv.writer(datei)
    writer.writerows(daten)

Erklärung:

  • csv.reader(datei): Liest die CSV-Datei Zeile für Zeile.
  • csv.writer(datei): Schreibt die Daten Zeile für Zeile in die CSV-Datei.

2. Lesen und Schreiben von JSON-Dateien

JSON (JavaScript Object Notation) ist ein weit verbreitetes Format zur Datenübertragung zwischen Client und Server. Python bietet das json-Modul zum Arbeiten mit JSON-Daten.

2.1 Lesen von JSON-Dateien:

import json

with open('daten.json', mode='r') as datei:
    daten = json.load(datei)
    print(daten)

Ausgabe (angenommen, daten.json enthält):

{
    "personen": [
        {"name": "Max", "alter": 25, "stadt": "Berlin"},
        {"name": "Anna", "alter": 30, "stadt": "München"}
    ]
}

2.2 Schreiben von JSON-Dateien:

import json

daten = {
    "personen": [
        {"name": "Max", "alter": 25, "stadt": "Berlin"},
        {"name": "Anna", "alter": 30, "stadt": "München"}
    ]
}

with open('neue_daten.json', mode='w') as datei:
    json.dump(daten, datei, indent=4)

Erklärung:

  • json.load(datei): Liest die JSON-Daten aus der Datei und konvertiert sie in ein Python-Datenobjekt.
  • json.dump(daten, datei, indent=4): Schreibt die Python-Datenobjekte als JSON in die Datei und formatiert sie mit einer Einrückung von 4 Leerzeichen.

3. Lesen und Schreiben von XML-Dateien

XML (eXtensible Markup Language) ist ein weiteres weit verbreitetes Format zur Datenübertragung. Python bietet Bibliotheken wie xml.etree.ElementTree zum Arbeiten mit XML-Daten.

3.1 Lesen von XML-Dateien:

import xml.etree.ElementTree as ET

baum = ET.parse('daten.xml')
wurzel = baum.getroot()

for kind in wurzel:
    print(kind.tag, kind.attrib)

Ausgabe (angenommen, daten.xml enthält):

<personen>
    <person name="Max" alter="25" stadt="Berlin" />
    <person name="Anna" alter="30" stadt="München" />
</personen>

3.2 Schreiben von XML-Dateien:

import xml.etree.ElementTree as ET

wurzel = ET.Element("personen")
person1 = ET.SubElement(wurzel, "person", name="Max", alter="25", stadt="Berlin")
person2 = ET.SubElement(wurzel, "person", name="Anna", alter="30", stadt="München")

baum = ET.ElementTree(wurzel)
baum.write("neue_daten.xml")

Erklärung:

  • ET.parse('daten.xml'): Liest die XML-Daten aus der Datei und erstellt einen Baum.
  • baum.getroot(): Gibt das Wurzelelement des Baumes zurück.
  • ET.Element() und ET.SubElement(): Erstellen von Elementen und Unterelementen für den XML-Baum.
  • baum.write('neue_daten.xml'): Schreibt den Baum in eine XML-Datei.

4. Pickle-Modul

Das pickle-Modul ermöglicht die Serialisierung und Deserialisierung von Python-Objekten. Dies bedeutet, dass Sie Python-Objekte in eine Datei schreiben und später wieder einlesen können.

4.1 Serialisierung mit pickle:

import pickle

daten = {'name': 'Max', 'alter': 25, 'stadt': 'Berlin'}

with open('daten.pkl', 'wb') as datei:
    pickle.dump(daten, datei)

4.2 Deserialisierung mit pickle:

import pickle

with open('daten.pkl', 'rb') as datei:
    daten = pickle.load(datei)
    print(daten)

Ausgabe:

{'name': 'Max', 'alter': 25, 'stadt': 'Berlin'}

Erklärung:

  • pickle.dump(daten, datei): Serialisiert die Python-Datenobjekte und schreibt sie in die Datei.
  • pickle.load(datei): Deserialisiert die Daten aus der Datei und konvertiert sie zurück in ein Python-Datenobjekt.

Zusammenfassung

Die Verarbeitung und Serialisierung von Daten in verschiedenen Formaten wie CSV, JSON und XML ist eine wichtige Fähigkeit in der Programmierung. Python bietet leistungsstarke Module wie csv, json, xml.etree.ElementTree und pickle, um diese Aufgaben zu erledigen. Durch das Verständnis und die Anwendung dieser Techniken können Sie effizient mit verschiedenen Datenformaten arbeiten und Ihre Python-Programme flexibler und leistungsfähiger gestalten.



CEO Image

Ali Ajjoub

info@ajjoub.com

Adresse 0049-15773651670

Adresse Jacob-winter-platz,1 01239 Dresden

Buchen Sie jetzt Ihren Termin für eine umfassende und individuelle Beratung.

Termin Buchen

Kontaktieren Sie uns

Lassen Sie uns K o n t a k t aufnehmen!