Das Konvertieren von CSV-Daten in Python-Wörterbücher (Dictionaries) ist eine häufige Aufgabe, da Wörterbücher eine flexible und effiziente Möglichkeit bieten, mit strukturierten Daten zu arbeiten. Dieser Abschnitt wird den Prozess der Extraktion von Daten aus CSV-Dateien und deren Speicherung in Wörterbüchern untersuchen.
Konvertieren von CSV in Wörterbücher
Um CSV-Daten in Wörterbücher zu konvertieren, können Sie die csv.DictReader
-Klasse verwenden, die vom csv
-Modul bereitgestellt wird. Diese Klasse liest die CSV-Datei und gibt einen Iterator zurück, der für jede Zeile ein Wörterbuch erzeugt, wobei die Schlüssel (keys) die Spaltenüberschriften und die Werte (values) die entsprechenden Daten sind.
import csv
## Sample CSV data
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
Die Ausgabe des obigen Codes wird eine Reihe von Wörterbüchern sein, wobei jedes Wörterbuch eine Zeile aus der CSV-Datei repräsentiert.
{'Name': 'John', 'Age': '25', 'City': 'New York'}
{'Name': 'Jane', 'Age': '30', 'City': 'London'}
Umgang mit Kopfzeilen
Die csv.DictReader
-Klasse geht davon aus, dass die erste Zeile der CSV-Datei die Spaltenüberschriften enthält. Wenn dies nicht der Fall ist, können Sie die Feldnamen (fieldnames) manuell angeben, wenn Sie das DictReader
-Objekt erstellen.
import csv
## CSV file with no header row
with open('data.csv', 'r') as file:
reader = csv.DictReader(file, fieldnames=['Name', 'Age', 'City'])
for row in reader:
print(row)
Dies wird die gleiche Ausgabe wie im vorherigen Beispiel erzeugen, ohne jedoch darauf zu vertrauen, dass die erste Zeile der CSV-Datei die Spaltenüberschriften enthält.
Zugriff auf Wörterbuchwerte
Sobald Sie die CSV-Daten in Wörterbücher konvertiert haben, können Sie leicht auf die Werte für jede Spalte zugreifen, indem Sie die entsprechenden Schlüssel verwenden.
import csv
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
name = row['Name']
age = row['Age']
city = row['City']
print(f"Name: {name}, Age: {age}, City: {city}")
Dies wird die einzelnen Werte für jede Zeile in der CSV-Datei ausgeben.
Indem Sie verstehen, wie Sie CSV-Daten in Wörterbücher konvertieren können, können Sie die Macht der Python-Datenstrukturen nutzen und fortgeschrittenere Operationen an Ihren CSV-Daten durchführen.