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

pascal128 17 Messages postés mercredi 4 décembre 2013Date d'inscription 29 septembre 2016 Dernière intervention - 23 mars 2016 à 17:44 - Dernière réponse : pascal128 17 Messages postés mercredi 4 décembre 2013Date d'inscription 29 septembre 2016 Dernière intervention
- 10 mai 2016 à 09:01
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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
pascal128 17 Messages postés mercredi 4 décembre 2013Date d'inscription 29 septembre 2016 Dernière intervention - 26 avril 2016 à 00:04
1
Merci
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

Merci pascal128 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de pascal128
pascal128 17 Messages postés mercredi 4 décembre 2013Date d'inscription 29 septembre 2016 Dernière intervention - 4 mai 2016 à 20:22
0
Merci
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)
Commenter la réponse de pascal128
pascal128 17 Messages postés mercredi 4 décembre 2013Date d'inscription 29 septembre 2016 Dernière intervention - 10 mai 2016 à 09:01
0
Merci
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)

Commenter la réponse de pascal128

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.