Wie man CSV-Dateien in Python parst

Bemerkungen: 0

Daten-Parsing ist definiert als eine automatische Sammlung und Verarbeitung von Informationen, die oft im Fall von CSV-Dateien verwendet wird. Parsen bedeutet hier das Zerlegen von CSV-Dateien in Zeilen, Spalten und Werte. Auf diese Weise können die Daten mühelos analysiert, gefiltert und für die weitere Arbeit extrahiert werden. In diesem Artikel erklären wir, wie man Python zum Lesen von CSV-Dateien verwendet. Außerdem zeigen wir, wie man Daten aus einer CSV-Datei in Python parsen kann.

Was ist eine CSV-Datei?

CSV, oder (Comma Separated Values), ist ein Dateiformat, das Daten so speichert, dass die Werte durch Kommas und Zeilenumbrüche getrennt sind. Daher kann das CSV-Format in einer Vielzahl von Kontexten verwendet werden, z. B. zum Erstellen oder Ändern von Daten in Excel.

Eine der Hauptstärken von CSV-Dateien ist der einfache Zugriff auf und die gemeinsame Nutzung von Informationen. Dank ihrer Einzigartigkeit kann die Datei unabhängig von der verwendeten Software geöffnet und verarbeitet werden. Das macht es bequem, solche Daten in Form einer Tabellenkalkulation oder einer Datenbank zu exportieren.

Nun wollen wir im folgenden Block zeigen, wie man CSV in Python öffnet und liest.

Parsing von CSV-Dateien mit Python

Python verfügt über eine eingebaute CSV-Bibliothek, mit der sich Daten problemlos lesen und schreiben lassen. Die Installation externer Bibliotheken ist nicht notwendig, was die Analyse von Inhalten und das Öffnen von Dateien zu einer einfachen Aufgabe macht.

Die folgenden Codesegmente zeigen, wie man eine СSV-Datei mit dem Namen university_records in Python öffnet und ausgibt. Es wird der Lesemodus verwendet, um die Datei zu öffnen, dann wird die CSV-Datei gelesen und schließlich werden die Daten mit einer for-Schleife gedruckt.


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

Schreiben von CSV-Dateien mit Python

Zu diesem Zweck werden wir das CSV-Modul verwenden, um Daten zu schreiben. Es gibt nützliche Methoden, die Ihnen beim Schreiben von Informationen im CSV-Modul helfen:

  • .writer() - dient als Werkzeug zum Erstellen von Dateien;
  • .writerow() - speichert Daten in einer Zeile.

Die Methoden des Moduls sind im folgenden Code ausführlich dargestellt:


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

CSV mit der Pandas-Bibliothek analysieren

Die Verwendung von Python zum Parsen von CSV-Dateien ist heutzutage unerlässlich: von Tabellenkalkulationen für das Finanzwesen bis hin zu riesigen Datenbanken für maschinelles Lernen. Manchmal ist die Arbeit mit diesen Dateien mühsam, vor allem wenn man mehr Funktionen benötigt, als Python von Haus aus bietet. In solchen Fällen kann die Pandas-Bibliothek sehr nützlich sein.

Die vollständige Fähigkeit, Daten mit DataFrame zu schreiben, wird unten demonstriert. DataFrame ist eine der wichtigsten Datenstrukturen in der Pandas-Bibliothek und wird für die Arbeit mit tabellarischen Daten verwendet.


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Hauptmerkmale der Pandas-Bibliothek

Für Python gilt die Pandas-Bibliothek als eine der effektivsten zum Parsen von CSV und hier sind die Gründe, warum sie so leistungsfähig und bequem ist:

  1. Einfacher Datei-Upload. Wenn ein Datensatz aus mehreren Quellen stammt und in seiner Formatierung inkonsistent ist, dann beweist Pandas seine Überlegenheit, denn es parst die Datei automatisch und erspart so den manuellen Aufwand.
  2. Skalierbarkeit. Wenn die Standard-Python-Bibliotheken versuchen, großvolumige CSV-Dateien zu parsen, hinken sie in der Regel stark hinterher, aber mit Pandas ist die Optimierung abgeschlossen, da es bei größeren Dateien gut abschneidet. Außerdem wird durch die Fragmentierung des Datei-Uploads eine Überlastung des Speichers verhindert.
  3. Der Umgang mit verschiedenen Prozessen. Fehlende Werte, falsche Formate und Duplikate sind vor allem in CSV-Dateien zu finden. Gut, dass Pandas mit eingebauten Werkzeugen wie der Ersetzung fehlender Daten und Typen, der Zeichenbereinigung und der Umstrukturierung von Informationen für fortgeschrittene Analysen wieder einmal seine Magie unter Beweis stellt.

Diese Funktionen zeigen, dass die Bibliothek am besten für die schnelle Analyse von CSV-Dateien geeignet ist, da andere Tools im Vergleich dazu begrenzt sind. Gleichzeitig ist sie in der Lage, große Datenmengen zu verarbeiten, was sie in der Welt der Information äußerst nützlich macht.

Lesen von CSV-Dateien mit Pandas

Bevor Sie das CSV-Dokument verwenden können, müssen Sie es zunächst hochladen.


import pandas as pd

df = pd.read_csv("data.csv")

Bei der Bearbeitung umfangreicher Datensätze sind die Pandas-Tools geeignet. Sehen wir uns an, wie ein Python-Skript eine CSV-Datei parsen kann.


df.head() # Zeigt die ersten 5 Zeilen
df.tail(10) # Zeigt die letzten 10 Zeilen
df.info() # Gibt eine Liste von Spalten, Datentypen und der Anzahl der gefüllten Werte aus

Um eine oder mehrere Spalten auszuwählen, führen Sie aus:


df["Name"] # Die Spalte "Name" abrufen


df[["Name", "Age"]] # Nur "Name" und "Age" extrahieren

Schreiben von CSV-Dateien mit Pandas

Sehen wir uns nun an, wie man bestimmte Zeilen einfügt, ändert und entfernt.

Einfügen einer neuen Zeile:


# Laden Sie die CSV-Datei
df = pd.read_csv(file_path) 

# Eine neue Zeile hinzufügen
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# Speichern Sie
df.to_csv(file_path, index=False, encoding="utf-8")

Ändern einer bestimmten Zeile:


df = pd.read_csv(file_path) 

# Ändern Sie das Alter von Ivan
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

Entfernen einer Zeile:


df = pd.read_csv(file_path) 

# Die Zeile mit Name == "Mykhailo" entfernen 
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

Schlussfolgerung

Zusammenfassend haben wir in diesem Artikel gezeigt, wie man eine CSV-Datei in Python öffnet und liest. Aber immer dann, wenn ein Benutzer eine größere Genauigkeit und leistungsfähige Interpretation Werkzeuge benötigt, funktioniert Pandas perfekt. Diese Bibliothek ist sehr effektiv, da sie sich wiederholende Prozesse automatisiert, den Umgang mit großen Dateien ermöglicht und Zeit spart. Daraus lässt sich schließen, dass die Standard-CSV-Bibliothek für grundlegende Funktionen ausreicht, während Pandas für den Umgang mit umfangreichen Informationen Daten konzipiert ist.

Bemerkungen:

0 Bemerkungen