Maison >développement back-end >Tutoriel Python >Comment importer un fichier CSV dans une table de base de données SQLite3 avec Python ?

Comment importer un fichier CSV dans une table de base de données SQLite3 avec Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 04:34:09909parcourir

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

Conversion d'un fichier CSV en table de base de données SQLite3 avec Python

L'importation d'un fichier CSV directement dans une table de base de données SQLite3 n'est pas possible à l'aide de la commande ".import". Cependant, cela peut être réalisé en suivant les étapes suivantes :

Établir une connexion à la base de données

Utilisez le module sqlite3 pour établir une connexion à une base de données (soit une base de données en mémoire, soit une base de données basée sur un fichier). base de données):

import sqlite3

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

Créer la table cible

Créez la table qui contiendra les données importées à l'aide de la Instruction "CREATE TABLE", spécifiant les noms de colonnes et les types de données :

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

Lire le fichier CSV

Ouvrez le fichier CSV et lisez son contenu à l'aide d'un lecteur CSV. Si les noms de colonnes sont spécifiés dans la première ligne du fichier, vous pouvez utiliser csv.DictReader pour les mapper à un dictionnaire :

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

Convertir les données CSV en listes

Convertir le dictionnaire lignes du lecteur CSV dans une liste de tuples :

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

Insérer les données dans le Table

Utilisez la méthodeexecutemany() sur l'objet curseur pour insérer la liste des tuples dans la table cible :

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

Commit Changes

Commit les modifications dans le base de données pour les rendre persistantes :

con.commit()

Fermez la connexion

Enfin, fermez la base de données connexion :

con.close()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn