J'aimerais extraire un fichier excel (.xlsx) qui contiendra un nombre de lignes variables.
Ce fichier excel contient des plusieurs colonnes.
Colonne A, B, C etc... et la table de ma base de données sqlite contient exactement les memes colonnes.
Je n'arrive pas a trouver une maniere ou definir un algo qui puisse remplir ma bdd avec toutes les lignes du fichier excel.
Pour le moment j'arrive à recuperer dans une liste toutes mes lignes du fichier excel dans des sous listes.
def path_file_excel(self, path_file, path_bdd):
try:
file = open(path_file)
extension = Path(path_file).suffixes
if extension[0] == ".xlsx" or extension[0] == ".XLSX":
data = pandas.read_excel(path_file, usecols="A:Q")
liste = []
i = 0
while i != len(data):
liste.append(data.values[i])
i += 1
return liste
else:
print("L'extension du fichier doit etre .xlsx")
exit()
except FileNotFoundError as e:
print(f"Erreur d'ouverture du fichier : {e}")
Il faut aussi prendre en compte que certaine ligne comme la 9 il peut y avoir certaines cases avec plusieurs valeurs (9B), et je veux stocker ces plusieurs valeurs dans la meme case aussi dans la bdd.
Pour chaque ligne dans la liste de données Excel, insérer la ligne dans la table de la BDD.
Enregistrer les modifications dans la BDD
Fermer la connexion à la BDD
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Merci je m'y suis remis ce soir et ca fonctionne. Est ce qu'il y aurait une maniere mieux qu'une autre en terme de rapidité d'execution avec le moins d'accès a la BDD ?
Et aussi quand j'insère des données dans la BDD ma 1ere colonne id reste a NULL, comment je dois faire pour qu'un id se génère automatiquement a chaque insertion ?
Voila comment j'ai creer ma table :
CREATE TABLE IF NOT EXISTS produits(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
Valeur A text,
Valeur B text,
Valeur C text,
Valeur D text,
Valeur E text,
Valeur F text,
Valeur G text,
Valeur H text,
Valeur I text,
Valeur J text,
Valeur K text,
Valeur L text,
Valeur M text,
Valeur N text,
Valeur O text,
Valeur P text,
Valeur Q text);
Pas sûr de la syntaxe AUTO_INCREMENT, j'aurai plutôt dit AUTOINCREMENT si c'est une base de données SQLite.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)