Valeurs dans une combobox à partir d'un fichier CSV
Bonjour,
Dans mon interface j'ai 2 combobox (liste déroulante) qui récupère des données à partir d'un fichier CSV.
La 1e combobox récupère la marque des voitures et à partir du choix fait par l'utilisateur, la 2e combobox récupère les modèles de voiture correspondant à la marque.
Mon souci est que pour certaines marques, il n'affiche pas les modèles.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
def choixMarque(self):
liste1=[] # liste contenant les marques de dumper
liste2=[] # liste intermédiaire
# Ouvrir le fichier csv contenant les infos sur les dumpers
with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f:
reader = csv.reader(f, delimiter = ';')
for row in reader:
liste1.append(row[0]) # récupérer les marques dans une liste
for d in liste1:
if not d in liste2:
liste2.append(d)
print(type(d))
ui.marque.addItem(d) # rajouter la marque dans la combobox
ui.marque.currentIndexChanged.connect(p.modele) # remplir la liste des modèles en fonction de la marque
def modele(self):
ui.modele.clear() # vider la combobox pour éviter les doublons
indexMarque = ui.dumperMarque.currentIndex()
nomMarque = ui.marque.currentData(indexMarque) # récup le nom de la marque choisie
with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f:
reader = csv.reader(f, delimiter = ';')
for row in reader:
if row[0] == nomMarque:
ui.modele.addItem(row[1]) # mettre modele dans combobox |
Pour certains noms de marques, il me dit que c'est un 'None Type' alors que pour celles qui marchent c'est du str
Je pense que le problème vient de là mais lorsque je récupère les noms de marque dans la 1e fonction elles sont toutes au format str, ce n'est que dans la 2e fonction où ça change..