CSV-Datei in Python importieren und automatisch SQLite-Tabelle generieren lassen

Wenn man Daten in einer CSV-Datei hat, kann es schwierig sein, sie effektiv zu organisieren und zu analysieren. Indem man die Daten in SQLite-Tabellen importiert, kann man die Daten besser organisieren und leistungsfähigere Abfragen durchführen.

SQLite ist auch skalierbar und unterstützt viele Anwendungen und Systeme, was die Zusammenarbeit mit anderen erleichtert. Zusammengefasst ermöglicht das Speichern von Daten aus einer CSV-Datei in SQLite-Tabellen eine bessere Organisation, leistungsfähigere Abfragen und eine höhere Interoperabilität.

Um eine CSV-Datei in Python zu importieren und automatisch eine SQLite-Tabelle mit den Daten aus der CSV-Datei zu generieren, können Sie die folgenden Schritte ausführen:

Mit dem CSV-Paket

Das CSV-Paket gehört zur Standard-Bibliothek von Python. Importieren Sie die erforderlichen Module: csv und sqlite3.

import csv
import sqlite3

Öffnen Sie die CSV-Datei und lesen Sie sie mit dem csv.reader()-Modul ein.

with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
data = [row for row in reader]

Öffnen Sie eine Verbindung zur SQLite-Datenbank und erstellen Sie einen Cursor.

conn = sqlite3.connect('database.db')
cursor = conn.cursor()

Erstellen Sie eine Tabelle in der SQLite-Datenbank mit den richtigen Spaltennamen und Datentypen, die den Daten in der CSV-Datei entsprechen.

cursor.execute('''CREATE TABLE IF NOT EXISTS table_name (
column1_name DATATYPE1,
column2_name DATATYPE2,
column3_name DATATYPE3
)''')

Fügen Sie die Daten aus der CSV-Datei in die SQLite-Tabelle ein.

for row in data:
cursor.execute("INSERT INTO table_name (column1_name, column2_name, column3_name) VALUES (?, ?, ?)", row)

Schließen Sie die Verbindung zur SQLite-Datenbank.

conn.commit()
conn.close()

Zusammengefasst sieht der Code folgendermaßen aus:

import csv
import sqlite3

with open('data.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    data = [row for row in reader]

conn = sqlite3.connect('database.db')
cursor = conn.cursor()

cursor.execute('''CREATE TABLE IF NOT EXISTS table_name (
                    column1_name DATATYPE1,
                    column2_name DATATYPE2,
                    column3_name DATATYPE3
                    )''')

for row in data:
    cursor.execute("INSERT INTO table_name (column1_name, column2_name, column3_name) VALUES (?, ?, ?)", row)

conn.commit()
conn.close()

Stellen Sie sicher, dass Sie den Dateinamen der CSV-Datei und den Namen der SQLite-Datenbank an Ihre spezifischen Anforderungen anpassen.

Mit Pandas

Mit dem Modul Pandas können Sie den Import einer CSV-Datei und das Schreiben der Daten in eine SQLite-Datenbank vereinfachen. Hier ist ein Beispiel, wie Sie diese Schritte ausführen können:

Importieren Sie die erforderlichen Module: pandas und sqlite3.

import pandas as pd
import sqlite3

Lesen Sie die CSV-Datei mit dem pandas.read_csv()-Modul ein.

data = pd.read_csv('data.csv')

Öffnen Sie eine Verbindung zur SQLite-Datenbank und schreiben Sie die Daten mit dem pandas.to_sql()-Modul in die Datenbank. Beachten Sie, dass Sie auch den Namen der Tabelle in der Datenbank angeben müssen.

conn = sqlite3.connect('database.db')
data.to_sql('table_name', conn, if_exists='replace', index=False)

Das Argument if_exists='replace' gibt an, dass die Tabelle in der Datenbank ersetzt werden soll, wenn sie bereits vorhanden ist. Das Argument index=False verhindert das Schreiben des Indexes in die Datenbank.

Schließen Sie die Verbindung zur SQLite-Datenbank.

conn.commit()
conn.close()

Zusammengefasst sieht der Code mit Pandas folgendermaßen aus:

import pandas as pd
import sqlite3

data = pd.read_csv('data.csv')

conn = sqlite3.connect('database.db')
data.to_sql('table_name', conn, if_exists='replace', index=False)

conn.commit()
conn.close()

Stellen Sie sicher, dass Sie den Dateinamen der CSV-Datei und den Namen der SQLite-Datenbank an Ihre spezifischen Anforderungen anpassen.

Ähnliche Beiträge