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 :
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é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);")
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 le dictionnaire lignes du lecteur CSV dans une liste de tuples :
to_db = [(i['col1'], i['col2']) for i in dr]
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 les modifications dans le base de données pour les rendre persistantes :
con.commit()
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!