CSV in Python in ein Dictionary umwandeln

Rayven Esplanada 3 Januar 2023
  1. Verwenden Sie das Modul csv, um eine CSV-Datei in Python in ein Dictionary zu konvertieren
  2. Pandas zum Konvertieren einer CSV-Datei in ein Dictionary in Python verwenden
CSV in Python in ein Dictionary umwandeln

In diesem Tutorial wird gezeigt, wie man eine csv-Datei in ein Dictionary in Python konvertiert, wobei die csv-Datei zwei Spalten enthält. Die erste Spalte enthält die Schlüssel, und die zweite Spalte enthält die Werte.

In diesem Lernprogramm wird der Inhalt für die Beispiel-CSV-Datei unten gezeigt.

CSV in ein Dictionary in Python konvertieren

Die erste Spalte enthält Bezeichner, die als Schlüssel verwendet werden, und die zweite Spalte sind die Werte.

Verwenden Sie das Modul csv, um eine CSV-Datei in Python in ein Dictionary zu konvertieren

Python verfügt über ein csv-Modul, das alle Arten von Hilfsfunktionen zur Manipulation von CSV-Dateien wie Konvertierung, Lesen, Schreiben und Einfügen enthält. Um eine CSV-Datei in ein Dictionary zu konvertieren, öffnen Sie die CSV-Datei und lesen Sie sie mit der csv-Funktion reader() in eine Variable ein, die die Datei in einem Python-Objekt speichert.

Anschließend konvertieren Sie das CSV-Objekt mithilfe von Dictionary Comprehension in ein Dictionary, indem Sie das reader-Objekt iterieren und auf seine ersten beiden Zeilen als Schlüssel-Wert-Paar des Dictionaries zugreifen.

import csv

dict_from_csv = {}

with open("csv_file.csv", mode="r") as inp:
    reader = csv.reader(inp)
    dict_from_csv = {rows[0]: rows[1] for rows in reader}

print(dict_from_csv)

Ausgabe:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}

Pandas zum Konvertieren einer CSV-Datei in ein Dictionary in Python verwenden

Eine andere Möglichkeit, eine CSV-Datei in ein Python-Dictionary zu konvertieren, ist die Verwendung des Pandas-Moduls, das Datenmanipulationswerkzeuge für CSV-Dateien enthält.

Nachdem Sie Pandas importiert haben, verwenden Sie die eingebaute Funktion read_csv() mit einigen Parametern, um das CSV-Dateiformat anzugeben. Nach dem Aufruf von read_csv() konvertieren Sie das Ergebnis mit der eingebauten Pandas-Funktion to_dict() in ein Dictionary.

import pandas as pd

dict_from_csv = pd.read_csv(
    "csv_file.csv", header=None, index_col=0, squeeze=True
).to_dict()
print(dict_from_csv)

Der Parameter header gibt an, dass die Kopfzeilen explizit übergeben oder durch einen anderen Parameter deklariert werden.

Der Parameter index_col gibt an, welche Spalte als Beschriftung für das DataFrame-Objekt verwendet wird, das die Funktion read_csv() zurückgibt. In diesem Fall ist die erste Spalte mit dem Index 0 die Beschriftung.

Schließlich definiert der Parameter squeeze, ob die Daten nur eine Spalte für Werte enthalten. In diesem Fall gibt es nur eine Spalte, da die erste Spalte als Indexspalte oder für die Beschriftungen verwendet wird.

Ausgabe:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
Hinweis
Wenn Sie die Fehlermeldung No module named 'pandas' erhalten, stellen Sie sicher, dass pandas auf Ihrem lokalen Rechner mit pip install pandas oder pip3 install pandas installiert ist, wenn Sie Python 3 verwenden.
Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Verwandter Artikel - Python CSV

Verwandter Artikel - Python Dictionary