Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengimport Fail CSV ke dalam Jadual Pangkalan Data SQLite3 dengan Python?

Bagaimana untuk Mengimport Fail CSV ke dalam Jadual Pangkalan Data SQLite3 dengan Python?

Barbara Streisand
Barbara Streisandasal
2024-11-28 04:34:09962semak imbas

How to Import a CSV File into an SQLite3 Database Table with Python?

Menukar Fail CSV kepada Jadual Pangkalan Data SQLite3 dengan Python

Mengimport fail CSV terus ke dalam jadual pangkalan data SQLite3 tidak boleh menggunakan arahan ".import". Walau bagaimanapun, ini boleh dicapai menggunakan langkah berikut:

Tubuhkan Sambungan Pangkalan Data

Gunakan modul sqlite3 untuk mewujudkan sambungan ke pangkalan data (sama ada pangkalan data dalam memori atau berasaskan fail pangkalan data):

import sqlite3

con = sqlite3.connect(":memory:")
cur = con.cursor()

Buat Jadual Sasaran

Buat jadual yang akan menyimpan data yang diimport menggunakan pernyataan "CREATE JADUAL", menyatakan nama lajur dan jenis data:

cur.execute("CREATE TABLE t (col1, col2);")

Baca Fail CSV

Buka fail CSV dan baca kandungannya menggunakan pembaca CSV. Jika nama lajur dinyatakan dalam baris pertama fail, anda boleh menggunakan csv.DictReader untuk memetakannya ke kamus:

with open('data.csv', 'r') as fin:
    dr = csv.DictReader(fin)

Tukar Data CSV kepada Senarai

Tukar kamus baris daripada pembaca CSV ke dalam senarai tupel:

to_db = [(i['col1'], i['col2']) for i in dr]

Masukkan Data ke dalam Jadual

Gunakan kaedah executemany() pada objek kursor untuk memasukkan senarai tupel ke dalam jadual sasaran:

cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)

Komit Perubahan

Komit perubahan pada pangkalan data untuk menjadikannya berterusan:

con.commit()

Tutup Sambungan

Akhir sekali, tutup sambungan pangkalan data:

con.close()

Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail CSV ke dalam Jadual Pangkalan Data SQLite3 dengan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn