Maison >développement back-end >Tutoriel Python >Comment importer un fichier CSV dans une table de base de données SQLite à l'aide de Python sous Windows ?
De nombreuses personnes rencontrent souvent un défi lors de l'importation de fichiers CSV dans leur SQLite tables de base de données en utilisant Python. La commande ".import" peut ne pas fonctionner comme prévu, ce qui prête à confusion. Cet article vise à fournir une solution claire et concise pour importer des fichiers CSV dans les tables de la base de données SQLite à l'aide de Python, en particulier pour ceux qui travaillent sur les systèmes Windows.
Pour commencer, établissez une connexion à votre base de données SQLite à l'aide du module sqlite3. Créez une table dans votre base de données à l'aide de l'instruction SQL "CREATE TABLE", en spécifiant les noms de colonnes appropriés.
Ensuite, ouvrez votre fichier CSV à l'aide de la fonction "open" avec le drapeau "r". Créez un objet lecteur CSV à l'aide de la classe csv.DictReader, qui attribuera automatiquement la première ligne du fichier CSV comme en-tête de colonne.
Pour préparer les données à insérer dans la base de données, créez une liste de tuples à partir de l'objet DictReader, où chaque tuple représente une ligne de données du fichier CSV. Utilisez la méthode "executemany" de l'objet curseur pour exécuter une seule instruction SQL INSERT pour toutes les données de la liste.
Enfin, validez les modifications dans la base de données à l'aide de la méthode "commit" et fermez la connexion en utilisant la méthode "close".
Voici un exemple d'extrait de code qui illustre l'ensemble du processus :
import csv, sqlite3 # Connect to the database con = sqlite3.connect(":memory:") # change to 'sqlite:///your_filename.db' cur = con.cursor() # Create a table cur.execute("CREATE TABLE t (col1, col2);") # Open the CSV file with open('data.csv','r') as fin: # Create a CSV reader object dr = csv.DictReader(fin) # Prepare the data for insertion to_db = [(i['col1'], i['col2']) for i in dr] # Insert the data into the database cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db) # Commit the changes con.commit() # Close the connection con.close()
En suivant les étapes décrit dans cet article, vous devriez pouvoir importer avec succès des fichiers CSV dans des tables de base de données SQLite à l'aide de Python, même sur les systèmes Windows.
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!