Insertion MySQL efficace de listes de dictionnaires à l'aide d'executemany en Python
Problème :
Lors du scraping données des tables Web dans une base de données MySQL, une approche inefficace est utilisée, impliquant des insertions de lignes individuelles. L'objectif est d'optimiser ce processus à l'aide d'executemany.
Solution :
La méthodeexecutemany permet l'insertion de plusieurs lignes de données dans une table de base de données à la fois. Dans ce cas, les données sont structurées sous forme de liste de dictionnaires, chacun représentant une ligne du tableau.
Au lieu d'accéder aux valeurs des dictionnaires individuellement, comme indiqué dans le code d'origine, les données doivent être ajoutées à une liste au format suivant :
itemBank.append(( tempRow2['Item_Name'], tempRow1['Item_Price'], tempRow3['Item_In_Stock'], tempRow4['Item_Max'], getTimeExtra )) #append data
La méthodeexecutemany peut alors être utilisée avec la requête suivante :
q = """ insert ignore into TABLE1 ( Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) values (%s,%s,%s,%s,%s) """
Remplacer le les insertions de lignes individuelles avec la méthodeexecutemany amélioreront considérablement l'efficacité du processus d'insertion de base de données.
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!