Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

CSV-Dateien in Python lesen und schreiben: Ein umfassender Leitfaden

CSV-Dateien in Python lesen und schreiben: Ein umfassender Leitfaden

Was ist eine CSV-Datei?

CSV (Comma-Separated Values) Datei speichert tabellarische Daten in Plain Text. Jede Zeile repräsentiert eine Reihe, und einzelne Felder werden durch ein Komma, Semikolon oder einen anderen Delimiter getrennt. CSV-Dateien sind leichtgewichtig, werden von Tabellenkalkulationen, Datenbanken und Datenanalyse-Tools weitgehend unterstützt, was sie zu einem bevorzugten Format für Datenaustausch macht.

CSV-Beispieldatei

Unten ist eine typische CSV-Darstellung einer kleinen Programmiersprachen-Datenbank. Die erste Zeile enthält Spaltenüberschriften, gefolgt von Datenzeilen.

Tabellendaten

ProgrammierspracheEntworfen vonErschienenErweiterung
PythonGuido van Rossum1991.py
JavaJames Gosling1995.java
C++Bjarne Stroustrup1983.cpp

CSV-Daten

Programmiersprache,Entworfen von,Erschienen,Erweiterung
Python,Guido van Rossum,1991,.py
Java,James Gosling,1995,.java
C++,Bjarne Stroustrup,1983,.cpp

Pythons eingebautes csv-Modul

Das csv-Modul bietet Low-Level-Tools für das Lesen und Schreiben von CSV-Dateien. Es handhabt Quoting, Delimiter und Zeilenterminatoren automatisch, was die Notwendigkeit manueller String-Manipulation reduziert.

Wichtige Funktionen

  • csv.reader() – Iteriert über Zeilen als Listen.
  • csv.DictReader() – Konvertiert Zeilen in Dictionaries, geschlüsselt nach Spaltennamen.
  • csv.writer() – Schreibt Zeilen in eine CSV-Datei.
  • csv.DictWriter() – Schreibt Dictionaries in eine CSV-Datei.
  • Dialekt-Helfer: csv.get_dialect(), csv.list_dialects(), csv.register_dialect(), csv.unregister_dialect().

CSV-Datei lesen

Unten ist ein minimales, produktionsreifes Beispiel, das eine CSV-Datei liest und jede Zeile als Python-Liste ausgibt.

import csv

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

Die Ausgabe wird sein:

["Programmiersprache", "Entworfen von", "Erschienen", "Erweiterung"]
["Python", "Guido van Rossum", "1991", ".py"]
["Java", "James Gosling", "1995", ".java"]
["C++", "Bjarne Stroustrup", "1983", ".cpp"]

CSV in ein Dictionary lesen

Die Verwendung von csv.DictReader ordnet die Header-Zeile automatisch Dictionary-Keys zu, was die Datenhandhabung vereinfacht.

import csv

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

Resultierende Dictionaries:

{"Programmiersprache": "Python", "Entworfen von": "Guido van Rossum", "Erschienen": "1991", "Erweiterung": ".py"}
{"Programmiersprache": "Java", "Entworfen von": "James Gosling", "Erschienen": "1995", "Erweiterung": ".java"}
{"Programmiersprache": "C++", "Entworfen von": "Bjarne Stroustrup", "Erschienen": "1983", "Erweiterung": ".cpp"}

CSV-Datei schreiben

csv.writer und csv.DictWriter Klassen lassen Sie Daten effizient schreiben.

import csv

zeilen = [
    ["Programmiersprache", "Entworfen von", "Erschienen", "Erweiterung"],
    ["Python", "Guido van Rossum", "1991", ".py"],
    ["Java", "James Gosling", "1995", ".java"],
    ["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]

with open('schreibeDaten.csv', mode='w', newline='', encoding='utf-8') as datei:
    writer = csv.writer(datei, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    writer.writerows(zeilen)

Das generierte schreibeDaten.csv wird dem Originalbeispiel entsprechen.

Pandas für CSV-Operationen verwenden

Pandas vereinfacht CSV-Handling, indem es Daten in ein DataFrame lädt, was mächtige Datenmanipulation mit minimalem Code ermöglicht. Installieren mit pip install pandas, falls nicht bereits verfügbar.

Mit Pandas lesen

import pandas as pd

df = pd.read_csv('daten.csv')
print(df)

Ausgabe:

  Programmiersprache   Entworfen von  Erschienen Erweiterung
0 Python             Guido van Rossum 1991       .py
1 Java               James Gosling    1995       .java
2 C++                Bjarne Stroustrup 1983      .cpp

Mit Pandas schreiben

import pandas as pd

daten = {
    'Programmiersprache': ['Python', 'Java', 'C++'],
    'Entworfen von': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
    'Erschienen': ['1991', '1995', '1983'],
    'Erweiterung': ['.py', '.java', '.cpp'],
}

df = pd.DataFrame(daten)
df.to_csv('pandaergebnis.csv', index=False)
print(df)

Die resultierende CSV ist identisch zum Original, aber das DataFrame bietet erweiterte Analysefunktionen.

Fazit

Pythons csv-Modul und Pandas bieten robuste, einfach zu verwendende Tools für das Lesen, Schreiben und Manipulieren von CSV-Dateien. Die Beherrschung dieser Bibliotheken ermöglicht effiziente Datenworkflows über Webservices, ETL-Pipelines und wissenschaftliche Forschung. Beginnen Sie noch heute mit dem Experimentieren und integrieren Sie CSV-Handling in Ihre Projekte mit Vertrauen.

Python

  1. Python-Schlüsselwörter & Bezeichner: Reservierte Wörter & Benennungskonventionen meistern
  2. Python-Anweisungen, Einrückung & Kommentare: Klare Anleitung
  3. Python-Variablen, Konstanten & Literale – Umfassender Leitfaden
  4. Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
  5. Python I/O & Modul-Importe meistern: Praxisleitfaden
  6. Python Global, Local & Nonlocal Variablen verstehen
  7. Python File I/O: Dateioperationen, Lesen, Schreiben und Verwaltung meistern
  8. Verzeichnis- und Dateioperationen in Python meistern
  9. Python-Fehler & eingebaute Exceptions meistern
  10. Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden