Extraire une donnée d'une cellule excel avec python [Résolu]

Signaler
Messages postés
20
Date d'inscription
mercredi 4 décembre 2013
Statut
Membre
Dernière intervention
4 novembre 2020
-
Messages postés
20
Date d'inscription
mercredi 4 décembre 2013
Statut
Membre
Dernière intervention
4 novembre 2020
-
Bonjour à vous
J'ai tableau excel contenant 9878 lignes de deux colonnes.
En entrant la valeur d'une cellule colonne 1, dans un "entry" je voudrais avoir le resultat de la cellule voisine, colonne 2, dans un label.
Apres avoir elagué un peu sur internet, il me reste pandas ou xlrd qui pourraient m'aider. Est-ce un bon choix , qu'en pensez vous.
Merci par avance
pascal128
A voir également:

3 réponses

Messages postés
20
Date d'inscription
mercredi 4 décembre 2013
Statut
Membre
Dernière intervention
4 novembre 2020
1
Bonjour

J'ai avance un peu. Voici mon fichier csv
id	client
1 tintin
2 dupont
3 dupont

et le code py
# #############################################
from tkinter import *
import csv
# #############################################
# methodes #
# #############################################
def quit():
fen.destroy()


# #############################################
# programme #
# #############################################
fen=Tk()

with open('IdClients.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
ids = []
clients = []
for row in readCSV:
id = row[0]
client = row[1]
ids.append(id)
clients.append(client)
if row[1] == "dupont":
print(row[0])

f = Button(fen, text="quit", width=10, command=quit)
f.pack(side=BOTTOM)

fen.minsize(260,150)
fen.mainloop()

quand je teste le code avec idle, j'ai bien la bonne reponse = deux ids, bien
Mon pb habituel et toujours le meme, comment avoir "dupont" dans un "entry" et la reponse ( row[0]) dans un label.
Merci de me mettre sur la voie
Bonne semaine
Messages postés
20
Date d'inscription
mercredi 4 décembre 2013
Statut
Membre
Dernière intervention
4 novembre 2020
1
Bonjour
J'ai avancé un peu sur le code, mon fichier csv est toujours le meme
id	client
1 tintin
2 dupont
3 dupont

mon entry fonctionne, mais je n'arrive pas a lier le label a la reponse du print(row[0]) , voici mon code, auriez une explication ?
# #############################################
from tkinter import *
import csv
# #############################################
# methodes #
# #############################################
def quit():
fen.destroy()

def recherche(event):
with open('IdClients.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
liste_id = []
liste_client = []
for row in readCSV:
id = row[0]
client = row[1]
if row[1] == varclient.get():
print(row[0])
label_id.configure(text ="Resultat = "+ varclient.get())

# #############################################
# programme #
# #############################################
fen=Tk()

varclient=StringVar()
entree_client=Entry(fen,textvariable=varclient,validate="key")
entree_client.bind("<Return>", recherche)
entree_client.pack()

# affichage resultat
label_id = Label(fen)
label_id.pack()

f = Button(fen, text="quit", width=10, command=quit)
f.pack(side=BOTTOM)

fen.minsize(260,150)
fen.mainloop()
exit(0)
Messages postés
20
Date d'inscription
mercredi 4 décembre 2013
Statut
Membre
Dernière intervention
4 novembre 2020
1
Bonjour

J'ai bien avancé, le code fonctionne entierement . dans la premeiere entry je rentre la date sous forme "02/05/2016", dans la deuxieme "dupont" + entre et j'obtient "2" = l'ID correcte.Pour le completer je voudrais creer 3 boutons qui entreraient automatiquement la date d'aujourd'hui, ou demain ou ap demain, et la je bloque.. please tks

Voici le code pour ceux que ca pourait aider( en suprimant le bouton)
Code :
# #############################################
# modules #
# #############################################
from tkinter import *
import csv
# #############################################
# methodes #
# #############################################

def now():
# Get today.
today = date.today()
entree_date.get()
def tomorrow():
# Add one day delta.
return date.today() + timedelta(days=1)

def afttomorrow():
# Add one day delta.
return date.today() + timedelta(days=2)

def quit():
fen.destroy()

def recherche(event):
with open('IdClients.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
liste_id = []
liste_client = []
liste_date = []
for row in readCSV:
id = row[0]
client = row[1]
date = row[2]

if row[2] == vardate.get():
if row[1]== varclient.get():

var_id.set(row[0])
print(row[0])


# #############################################
# programme #
# #############################################
fen=Tk()

vardate=StringVar()
entree_date=Entry(fen,textvariable=vardate,validate="key")
entree_date.pack()

varclient=StringVar()
entree_client=Entry(fen,textvariable=varclient,validate="key")
entree_client.bind("<Return>", recherche)
entree_client.pack()



# affichage resultat
var_id=StringVar()
label_id = Label(fen, textvariable=var_id)
label_id.pack()

bouton_aujourdhui=Button(fen,text="aujourd hui", command=now)
bouton_aujourdhui.pack()

f = Button(fen, text="quit", width=10, command=quit)
f.pack(side=BOTTOM)


fen.minsize(260,150)
fen.mainloop()
exit(0)