Heim >Backend-Entwicklung >Python-Tutorial >Wie importiere ich eine CSV-Datei mit Python in eine SQLite3-Datenbanktabelle?
Das direkte Importieren einer CSV-Datei in eine SQLite3-Datenbanktabelle ist mit dem Befehl „.import“ nicht möglich. Dies kann jedoch mit den folgenden Schritten erreicht werden:
Verwenden Sie das sqlite3-Modul, um eine Verbindung zu einer Datenbank herzustellen (entweder eine In-Memory-Datenbank oder eine dateibasierte). Datenbank):
import sqlite3 con = sqlite3.connect(":memory:") cur = con.cursor()
Erstellen Sie die Tabelle, die die importierten Daten enthält, mithilfe von „CREATE TABLE“-Anweisung, die die Spaltennamen und Datentypen angibt:
cur.execute("CREATE TABLE t (col1, col2);")
Öffnen Sie die CSV-Datei und lesen Sie ihren Inhalt mit einem CSV-Reader. Wenn die Spaltennamen in der ersten Zeile der Datei angegeben sind, können Sie sie mit csv.DictReader einem Wörterbuch zuordnen:
with open('data.csv', 'r') as fin: dr = csv.DictReader(fin)
Das Wörterbuch konvertieren Zeilen aus dem CSV-Reader in eine Liste von Tupeln:
to_db = [(i['col1'], i['col2']) for i in dr]
Verwenden Sie die Methode „executemany()“ für das Cursorobjekt, um die Liste der Tupel in die Zieltabelle einzufügen:
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)
Änderungen festschreiben Datenbank, um sie dauerhaft zu machen:
con.commit()
Schließen Sie abschließend die Datenbank Verbindung:
con.close()
Das obige ist der detaillierte Inhalt vonWie importiere ich eine CSV-Datei mit Python in eine SQLite3-Datenbanktabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!