Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich CSV-Dateien mit Python in SQLite-Datenbanken importieren?

Wie kann ich CSV-Dateien mit Python in SQLite-Datenbanken importieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-09 08:09:021060Durchsuche

How can I import CSV files into SQLite databases using Python?

CSV-Dateien in SQLite-Datenbanken mit Python importieren

In Python ermöglicht die Verwendung des Moduls sqlite3 Entwicklern den mühelosen Import Daten aus CSV-Dateien in SQLite3-Datenbanktabellen. Auch wenn der Befehl „.import“ möglicherweise nicht direkt anwendbar ist, bieten alternative Methoden einen unkomplizierten Ansatz zur Bewältigung dieser Aufgabe.

Beispielcode:

Zur Veranschaulichung des Importvorgangs Betrachten Sie den folgenden Python-Code:

import csv, sqlite3

# Connect to the database (in-memory or file) and create a cursor
con = sqlite3.connect(":memory:") # change to 'sqlite:///your_filename.db'
cur = con.cursor()
cur.execute("CREATE TABLE t (col1, col2);") # use your column names here

# Open the CSV file for reading
with open('data.csv','r') as fin:
    # Create a DictReader object to read data from the CSV file
    dr = csv.DictReader(fin) # comma is default delimiter
    # Convert CSV data into a list of tuples for database insertion
    to_db = [(i['col1'], i['col2']) for i in dr]

# Execute the insert query using executemany to efficiently import data
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)

# Commit changes to the database
con.commit()

# Close the connection and cursor
con.close()

Erklärung:

  • Stellen Sie mit sqlite3.connect() eine Verbindung zur SQLite-Datenbank her und erstellen Sie einen Cursor zur Ausführung Abfragen.
  • Erstellen Sie die Zieltabelle in der Datenbank mit der CREATE TABLE-Anweisung.
  • Öffnen Sie die CSV-Datei zum Lesen mit der with-Anweisung.
  • Verwenden Sie csv.DictReader zum Lesen Daten aus der CSV-Datei. Es ordnet Spaltennamen automatisch ihren jeweiligen Werten zu.
  • Konvertieren Sie die Daten in eine Liste von Tupeln, um sie effizient in die Datenbank einzufügen.
  • Verwenden Sie „executemany“, um mehrere Zeilen gleichzeitig zu importieren.
  • Übernehmen Sie die Änderungen, um die Daten in der Datenbank dauerhaft zu machen.
  • Schließen Sie die Verbindung und den Cursor, um Ressourcen freizugeben.

Das obige ist der detaillierte Inhalt vonWie kann ich CSV-Dateien mit Python in SQLite-Datenbanken importieren?. 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