Heim > Artikel > Backend-Entwicklung > Wie importiere ich eine CSV-Datei mit Python in eine SQLite-Datenbanktabelle?
Massenimport von CSV-Daten in SQLite mit Python
Das Importieren einer CSV-Datei in eine SQLite-Datenbanktabelle kann mit dem sqlite3-Modul von Python ein unkomplizierter Vorgang sein . Die direkte Verwendung des Befehls „.import“ führt jedoch möglicherweise nicht zu den gewünschten Ergebnissen, wie in einer aktuellen Abfrage vorgeschlagen.
Um eine CSV-Datei effektiv zu importieren, sollten Sie den folgenden Ansatz in Betracht ziehen:
Beispiel:
Angenommen, Sie haben eine CSV-Datei mit dem Namen „data.csv“ in Ihrem aktuellen Arbeitsverzeichnis und eine Datenbankverbindung wurde mit hergestellt sqlite3.connect() können Sie den Import mit den folgenden Schritten durchführen:
import csv, sqlite3 # Connect to the database con = sqlite3.connect(":memory:") # or 'sqlite:///your_filename.db' # Create a cursor cur = con.cursor() # Create the target table in advance cur.execute("CREATE TABLE t (col1, col2);") # Adjust column names as needed # Open the CSV file for reading with open('data.csv','r') as fin: # Create a DictReader to read the header and rows as dictionaries # In case of a headerless file, skip the header argument dr = csv.DictReader(fin, delimiter=',') # Convert the rows into a list of tuples to_db = [(i['col1'], i['col2']) for i in dr] # Use executemany to insert the data efficiently cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db) # Commit the changes con.commit() # Close the connection con.close()
Dieses Skript geht davon aus, dass Ihre CSV-Datei zwei Spalten mit den Namen „col1“ und „col2“ enthält. Wenn Ihre Datei andere Spaltennamen hat, passen Sie diese im Code entsprechend an. Nach erfolgreicher Ausführung werden die CSV-Daten in die neu erstellte „t“-Tabelle innerhalb der angegebenen Datenbank importiert.
Das obige ist der detaillierte Inhalt vonWie importiere ich eine CSV-Datei mit Python in eine SQLite-Datenbanktabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!