#Lecture du excel
from tkinter.constants import W
import pandas as pd
from fpdf import FPDF
from tkinter import Button
from tkinter import Entry
from tkinter import StringVar
from tkinter import Tk
from tkinter import Label
from tkinter.filedialog import askopenfilename
#creation de l'interface
FILETYPES = [ ("", "*.*") ]
root = Tk()
root.geometry('640x480')
filename = StringVar(root)
#variable
y = 0
z = 0
#creation de la recherche du fichier
def set_filename():
filename.set(askopenfilename(filetypes=FILETYPES))
#ajout texte a l'interface
choix = Label(root, text='Le fichier choisie est :')
choix.pack()
entry = Entry(root, textvariable=filename)
entry.pack()
#ajout du bouton parcourir
button = Button(root, text='Parcourir', command=set_filename)
button.pack()
#variable pour le path
chemin = filename
#lecture du excel
data = pd.read_excel(chemin)
#settings du PDF
pdf = FPDF('P', 'mm', 'A4')
pdf.add_page()
pdf.set_font("Arial", size = 12)
#entrée voulu dans le excel
x = 4
#creation des liste
nom = []
age = []
#mise des donnée dans les liste
for v in range(0, x) :
nom.append(data['Name'].loc[v])
age.append(data['Age'].loc[v].astype(int))
#ecrit dans un fichier
for z in range(0, x) :
if data['PassengerId'].loc[z]== z + 1 :
pdf.cell(200, 10, "Titre du Doc " + str(z), ln = 1, align = 'C')
pdf.cell(200, 10, txt=str(z + 1) + ' Le nom du client est : ' + str(nom[z]) + ' et son age est : ' + str(age[z]), ln = 2, align = 'L')
print(str(nom[z]))
pdf.output("C:/Users/matte/datatest/Dossier Client/Client" + str(z + 1) + ".pdf")
else:
print('yapa')
y = y + 1
root.mainloop()
J'ai un problème avec les priorités car quand je lance mon programme sa me dit que mon chemin de fichier n'est pas specifier mais c'est normal car je veut le specifier à la "main" et donc je comprend pas l'erreur.
Et j'ai une autre erreur c'est quand je génère mes pdf les valeur a l'interieur reste les meme alors que je print dans ma boucle et les valeurs change bien.
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)
J'ai un problème avec les priorités car quand je lance mon programme sa me dit que mon chemin de fichier n'est pas specifier mais c'est normal car je veut le specifier à la "main" et donc je comprend pas l'erreur.
Vous pensez séquentiel: ligne 41 read_excel est appelé avec un chemin qui n'a pas encore été modifié par l'utilisateur. Celui ci ne pourra le faire qu'en cliquant sur le Button. Ce qui ne pourra arriver qu'après l'exécution de la ligne 76 (l'entrée dans mainloop).
Avec tkinter, il faut penser évènements... et c'est toute une logique de programmation à apprendre.
Ah oui effectivement ligne 38, filename est toujours une chaîne vide je pense et ligne 41 c'est le drame.
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)
J'ai un problème avec les priorités car quand je lance mon programme sa me dit que mon chemin de fichier n'est pas specifier mais c'est normal car je veut le specifier à la "main" et donc je comprend pas l'erreur.
Vous pensez séquentiel: ligne 41 read_excel est appelé avec un chemin qui n'a pas encore été modifié par l'utilisateur. Celui ci ne pourra le faire qu'en cliquant sur le Button. Ce qui ne pourra arriver qu'après l'exécution de la ligne 76 (l'entrée dans mainloop).
Avec tkinter, il faut penser évènements... et c'est toute une logique de programmation à apprendre.
Merci pour votre réponse je débute en programmation c'est mon premier projet du coup j'ai encore beaucoup a apprendre.
don c ton code de la ligne 37 à 74 est à mettre dans une fonction appelée quand tu veux générer ton pdf (peut-être appelée par un second bouton)
Problème avec tkinter et fpdf
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
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)