Importation groupée de données CSV dans SQLite avec Python
L'importation d'un fichier CSV dans une table de base de données SQLite peut être un processus simple à l'aide du module sqlite3 de Python . Cependant, l'utilisation directe de la commande ".import" peut ne pas donner les résultats souhaités, comme suggéré dans une requête récente.
Pour importer efficacement un fichier CSV, envisagez l'approche suivante :
Exemple :
En supposant que vous disposez d'un fichier CSV nommé "data.csv" situé dans votre répertoire de travail actuel et d'une connexion à la base de données établie à l'aide de sqlite3.connect(), vous pouvez effectuer l'importation en suivant les étapes suivantes :
import csv, sqlite3 # Connect to the database con = sqlite3.connect(":memory:") # or 'sqlite:///your_filename.db' # Create a cursor cur = con.cursor() # Create the target table in advance cur.execute("CREATE TABLE t (col1, col2);") # Adjust column names as needed # Open the CSV file for reading with open('data.csv','r') as fin: # Create a DictReader to read the header and rows as dictionaries # In case of a headerless file, skip the header argument dr = csv.DictReader(fin, delimiter=',') # Convert the rows into a list of tuples to_db = [(i['col1'], i['col2']) for i in dr] # Use executemany to insert the data efficiently cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db) # Commit the changes con.commit() # Close the connection con.close()
Ce script suppose que votre fichier CSV comporte deux colonnes nommées "col1" et "col2". Si votre fichier a des noms de colonnes différents, ajustez-les en conséquence dans le code. Une fois l'exécution réussie, les données CSV seront importées dans la table "t" nouvellement créée dans la base de données spécifiée.
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!