Heim >Backend-Entwicklung >Python-Tutorial >Wie erstellt man in Python korrekt ein Wörterbuch aus einer CSV-Datei?

Wie erstellt man in Python korrekt ein Wörterbuch aus einer CSV-Datei?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-17 15:25:02472Durchsuche

How to Correctly Create a Dictionary from a CSV File in Python?

Erstellen eines Wörterbuchs aus einer CSV-Datei

Beim Arbeiten mit Daten im CSV-Format kann es von Vorteil sein, die Informationen in einem Wörterbuch zu speichern , wobei jede Zeile in der CSV-Datei ein Schlüssel-Wert-Paar darstellt. Das Erstellen eines einzelnen Wörterbuchs aus einer CSV-Datei ist eine häufige Aufgabe.

Problem:

Ein Benutzer hat versucht, mithilfe der Klasse csv.reader ein Wörterbuch aus einer CSV-Datei zu erstellen , beim Durchlaufen der Zeilen ist jedoch ein Fehler aufgetreten. Der Code hat einen ValueError erzeugt: zu viele Werte zum Entpacken (erwartet 2).

Lösung:

Das Problem entsteht durch die falsche Verwendung von mydict = {k:v für k, v in Zeilen}. Dieser Code versucht, für jede Zeile separat ein Wörterbuch zu erstellen, anstatt alle Schlüssel-Wert-Paare in einem einzigen Wörterbuch zusammenzufassen. Die korrekte Syntax zum Erstellen eines Wörterbuchs aus einer CSV-Datei lautet wie folgt:

mydict = {rows[0]:rows[1] for rows in reader}

Dieser Code durchläuft jede Zeile in der CSV-Datei und legt die erste Spalte als Schlüssel und die zweite Spalte als Wert fest das Wörterbuch. Das resultierende Mydict enthält alle Schlüssel-Wert-Paare aus der CSV-Datei.

Alternativ kann für Python-Versionen <= 2.7.1 die folgende Syntax verwendet werden:

mydict = dict((rows[0],rows[1]) for rows in reader)

Das obige ist der detaillierte Inhalt vonWie erstellt man in Python korrekt ein Wörterbuch aus einer CSV-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn