So lesen Sie eine CSV-Datei in Python (Modul, Pandas-Beispiele) (2024)

Was ist eine CSV-Datei?

A CSV-Datei ist eine einfache Art von Klartextdatei, die eine bestimmte Struktur zum Anordnen tabellarischer Daten verwendet. Das Standardformat einer CSV-Datei wird durch Zeilen- und Spaltendaten definiert, wobei eine neue Zeile jede Zeile beendet, um die nächste Zeile zu beginnen, und jede Spalte innerhalb der Zeile durch ein Komma getrennt ist.

CSV ist ein gängiges Format für den Datenaustausch, da es kompakt, einfach und allgemein ist. Viele Online-Dienste ermöglichen ihren Benutzern den Export tabellarischer Daten von der Website in eine CSV-Datei. CSV-Dateien werden in Excel geöffnet, und fast alle Datenbanken verfügen über ein Tool, das den Import aus CSV-Dateien ermöglicht.

CSV-Beispieldatei

Daten in Form von Tabellen werden auch CSV (Comma Separated Values) genannt – wörtlich „durch Kommas getrennte Werte“. Hierbei handelt es sich um ein Textformat zur Darstellung tabellarischer Daten. Jede Zeile der Datei ist eine Zeile der Tabelle. Die Werte einzelner Spalten werden durch ein Trennzeichen getrennt – ein Komma (,), ein Semikolon (;) oder ein anderes Symbol. CSV kann von Python problemlos gelesen und verarbeitet werden.

Betrachten Sie Folgendeswing Tisch

Tabellendaten

ProgrammierspracheEntworfen vonErschienenErweiterung
PythonGuido van Rossum1991.py
JavacJames Gosling1995.Java
C + +Bjarne Stroustrup1983.cpp

Sie können diese Tabelle wie folgt im CSV-Format darstellen.

CSV-Daten

Programmiersprache, entworfen von, erschienen, Erweiterung

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup, 1983,.cpp

Wie Sie sehen, ist jede Zeile eine neue Zeile und jede Spalte wird durch ein Komma getrennt. Dies ist ein Beispiel dafür, wie eine CSV-Datei aussieht.

Laden Sie CSV-Daten herunter

Python CSV-Modul

Python stellt ein CSV-Modul zur Verarbeitung von CSV-Dateien bereit. Um Daten zu lesen/schreiben, müssen Sie die Zeilen der CSV-Datei durchlaufen. Sie müssen die Split-Methode verwenden, um Daten aus bestimmten Spalten abzurufen.

Funktionen des CSV-Moduls

In der Dokumentation zum CSV-Modul finden Sie Folgendeswing Funktionen:

  • csv.field_size_limit – maximale Feldgröße zurückgeben
  • csv.get_dialect – Rufen Sie den Dialekt ab, der dem Namen zugeordnet ist
  • csv.list_dialects – alle registrierten Dialekte anzeigen
  • csv.reader – Daten aus einer CSV-Datei lesen
  • csv.register_dialect – Dialekt mit Namen verknüpfen
  • csv.writer – Daten in eine CSV-Datei schreiben
  • csv.unregister_dialect – Löschen Sie den Dialekt, der mit dem Namen der Dialektregistrierung verknüpft ist
  • csv.QUOTE_ALL – Zitieren Sie alles, unabhängig vom Typ.
  • csv.QUOTE_MINIMAL – Angebotsfelder mit Sonderzeichen
  • csv.QUOTE_NONNUMERIC – Zitieren Sie alle Felder, die nicht vorhanden sind numbers Wert
  • csv.QUOTE_NONE – Zitieren Sie in der Ausgabe nichts

In diesem Tutorial konzentrieren wir uns nur auf die Lese- und Schreibfunktionen, mit denen Sie die Daten in einer CSV-Datei bearbeiten, ändern und manipulieren können.

So lesen Sie eine CSV-Datei in Python

Nachfolgend finden Sie Schritte zum Lesen einer CSV-Datei in Python.

Schritt 1) Um Daten aus CSV-Dateien zu lesen, müssen Sie die Reader-Funktion verwenden, um ein Reader-Objekt zu generieren.

Die Reader-Funktion wurde entwickelt, um aus jeder Zeile der Datei eine Liste aller Spalten zu erstellen. Anschließend müssen Sie die Spalte auswählen, für die Sie die variablen Daten benötigen.

Es klingt viel komplizierter als es ist. Schauen wir uns diesen Python-Code zum Lesen einer CSV-Datei an und wir werden feststellen, dass die Arbeit mit einer CSV-Datei nicht so schwierig ist.

#import necessary modulesimport csvwith open('X:\data.csv','rt')as f: data = csv.reader(f) for row in data: print(row)

Schritt 2) Wenn Sie das obige Programm ausführen, wird die Ausgabe wie folgt aussehen:

['Programming language; Designed by; Appeared; Extension']['Python; Guido van Rossum; 1991; .py']['Java; James Gosling; 1995; .java']['C++; Bjarne Stroustrup;1983;.cpp']

So lesen Sie eine CSV-Datei in ein Wörterbuch in Python ein

Sie können DictReader auch zum Lesen von CSV-Dateien verwenden. Die Ergebnisse werden als Wörterbuch interpretiert, wobei die Kopfzeile der Schlüssel und die anderen Zeilen Werte sind.

Betrachten Sie Folgendeswing Code

#import necessary modulesimport csvreader = csv.DictReader(open("file2.csv"))for raw in reader: print(raw)

Das Ergebnis dieses Codes ist:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Und diese Methode zum Lesen von Daten aus einer CSV-Datei ist viel einfacher als die frühere Methode. Dies ist jedoch nicht die beste Möglichkeit, Daten zu lesen.

So schreiben Sie eine CSV-Datei in Python

So schreiben Sie eine CSV-Datei in Python:

Wenn Sie einen Datensatz haben, den Sie in einer CSV-Datei speichern möchten, müssen Sie die Funktion write() verwenden. Um die Daten über die Zeilen (Zeilen) zu iterieren, müssen Sie die Funktion writerow() verwenden.

Betrachten Sie Folgendeswing Beispiel. Wir schreiben Daten in eine Datei „writeData.csv“, wobei das Trennzeichen ein Apostroph ist.

#import necessary modulesimport csvwith open('X:\writeData.csv', mode='w') as file: writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) #way to write to csv file writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension']) writer.writerow(['Python', 'Guido van Rossum', '1991', '.py']) writer.writerow(['Java', 'James Gosling', '1995', '.java']) writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Das Ergebnis in der CSV-Datei ist:

Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .pyJava, James Gosling, 1995, .javaC++, Bjarne Stroustrup,1983,.cpp

Lesen Sie die CSV-Datei mit Pandas

Pandas ist eine Open-Source-Bibliothek, mit der Sie CSV in Python importieren und Datenmanipulationen durchführen können. Pandas bieten eine einfache Möglichkeit, Daten zu erstellen, zu bearbeiten und zu löschen.

Sie müssen die Pandas-Bibliothek mit dem Befehl pip install pandas installieren. In Windows, führen Sie diesen Befehl in der Eingabeaufforderung unter Linux im Terminal aus.

Das Einlesen der CSV in einen Pandas DataFrame geht sehr schnell und einfach:

#import necessary modulesimport pandasresult = pandas.read_csv('X:\data.csv')print(result)

Ergebnis der Lesen Sie CSV Pandas Beispiel:

Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp

Sehr nützliche Bibliothek. In nur drei Codezeilen erhalten Sie das gleiche Ergebnis wie zuvor. Pandas weiß, dass die erste Zeile der CSV-Datei Spaltennamen enthielt, und verwendet diese automatisch.

Schreiben Sie eine CSV-Datei mit Pandas

Das Schreiben in eine CSV-Datei mit Pandas ist genauso einfach wie das Lesen. Hier können Sie sich davon überzeugen. Zuerst müssen Sie DataFrame basierend auf Folgendem erstellenwing Python schreibt in CSV-Code.

from pandas import DataFrameC = {'Programming language': ['Python','Java', 'C++'], 'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'], 'Appeared': ['1991', '1995', '1985'], 'Extension': ['.py', '.java', '.cpp'], }df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be storedprint (df)

Hier ist die Ausgabe

Programming language, Designed by, Appeared, Extension0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp

Und die CSV-Datei wird am angegebenen Speicherort erstellt.

Zusammenfassung

Jetzt wissen Sie also, wie Sie die Methode „csv“ verwenden und Daten im CSV-Format lesen und schreiben können. CSV-Dateien werden häufig in Softwareanwendungen verwendet, da sie einfach zu lesen und zu verwalten sind und aufgrund ihrer geringen Größe relativ schnell verarbeitet und verarbeitet werden können transmission.

Das CSV-Modul bietet verschiedene Funktionen und Klassen, die Ihnen das einfache Lesen und Schreiben ermöglichen. Weitere interessante Tipps und Module finden Sie in der offiziellen Python-Dokumentation. CSV ist der beste Weg zum Speichern, viewing, und Senden von Daten. Eigentlich ist es gar nicht so schwer zu lernen, wie es am Anfang scheint. Aber mit ein wenig Übung wirst du es meistern.

Pandas ist eine großartige Alternative zum Lesen von CSV-Dateien.

Es gibt auch andere Möglichkeiten, Textdateien mit Bibliotheken wie ANTLR, PLY und PlyPlus zu analysieren. Sie alle können anspruchsvolles Parsen bewältigen, und wenn eine einfache String-Manipulation nicht funktioniert, gibt es reguläre Ausdrücke, die Sie verwenden können.

Du magst vielleicht:

  • Online-Python-Compiler (Editor/Interpreter/IDE) zum Ausführen von Code
  • PyUnit-Tutorial: Python Unit Testing Framework (mit Beispiel)
  • So installieren Sie Python auf Windows [Pycharm-IDE]
  • Hallo Welt: Erstellen Sie Ihr erstes Python-Programm
  • Python-Variablen: So definieren/deklarieren Sie String-Variablentypen
  • Python-Strings: Ersetzen, verbinden, teilen, umkehren, Groß- und Kleinschreibung
  • Python-TUPLE – Packen, Entpacken, Vergleichen, Schneiden, Löschen, Schlüssel
  • Wörterbuch in Python mit Syntax und Beispiel
So lesen Sie eine CSV-Datei in Python (Modul, Pandas-Beispiele) (2024)
Top Articles
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 6152

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.