KeyError python
Ferméderistix Messages postés 55 Date d'inscription lundi 30 janvier 2023 Statut Membre Dernière intervention 23 février 2023 - 3 févr. 2023 à 18:33
4 réponses
2 févr. 2023 à 09:24
bonjour,
Peux-tu partager le programme que tu exécutes, ainsi que le fichier lu par le programme?
2 févr. 2023 à 18:32
bonjour,
j'essaie d'envoyer le fichier excel mais je n'y arrive pas comment dois-je l'envoyer ?
le programme exécuté est le code de mon message précédent.
2 févr. 2023 à 18:37
Le message d'erreur mentionne "polygone_find", je ne le vois pas dans ton code.
Tu peux sans doute simplement partager le texte contenu dans ton fichier csv.
Sinon, tu peux publier ton fichier sur Internet (cjoint.com, ...), puis partager ici un lien vers ce fichier.
2 févr. 2023 à 20:23
ahh oui le "polygone_find" je l'avais remplace par la fonction "search_figures".
voici le lien vers mon fichier csv:
https://onedrive.live.com/redir?resid=27F7334224EF46BE!153&authkey=!AEV48GOmO_9kkxQ&ithint=file%2cxlsx&e=ThvsLF
2 févr. 2023 à 22:15
La prochaine fois, merci de partager le code qui correspond au message d'erreur.
Le fichier que tu partages n'est pas un fichier csv.
Quand j'exécute ton code, il ne donne pas de message d'erreur, et il n'appelle pas search_figures().
2 févr. 2023 à 22:24
As-tu écrit cette fonction search_figures()? Es-tu certain qu'elle soit prévue pour traiter un dataframe?
J'ai l'impression que non.
Salut.
Plusieurs problèmes, si ton csv a autre chose qu'une virgule comme séparateur, alors il faut le préciser, et ensuite convertir en liste.
import pandas as pd df = pd.read_csv("monFichier_test.csv", sep='\t') data = df.values.tolist()
Mais inutile de se servir de pandas pour lire un simple fichier csv, mieux vaut utiliser le module csv.
import csv with open("monFichier_test.csv") as f: reader = csv.DictReader(f, delimiter='\t') data = tuple(tuple(float(v) for v in row.values()) for row in reader)
itertools.combination retourne donc des indices de tes coordonnées. Tu ne dois pas incrémenter ces indices, car évidemment si on se trouve au dernier indice, il y aura une erreur comme celle que tu obtiens puisqu'on tentera d'accéder à un indice inexistant, de plus ce n'est pas ce qu'il faut faire, juste utiliser les indices de ta liste d'indices.
# .... '''je fais la recherche de triangles rectangles''' C = list(combinations(B, 3)) # 3 et non 4 for tri in C: xA = A[tri[0]][0] yA = A[tri[0]][1] xB = A[tri[1]][0] yB = A[tri[1]][1] xC = A[tri[2]][0] yC = A[tri[2]][1] if test_trianglerectangle(xA,yA,xB,yB,xC,yC): trianglerectangle.append((tri[0],tri[1],tri[2])) # trianglerectangle ! RESULTAT.update({"trianglerectangle": trianglerectangle}) # ...
Faire de même avec les autres boucles.
3 févr. 2023 à 18:33
bonsoir,
ok d'accord je verrais les erreurs et je vous ferais un retour des que possible ,
si j'envoie encore le même message (mon code) sur le forum ça fera beaucoup , il y a pas un autre moyen de vous contacter ?