2015-05-28 2 views
1

У меня есть 2 combobox, которые получают их значения из файла csv. Первое поле со списком автоматически присваивается названиям автомобильных брендов при запуске GUI. Вторая сборная получает другую модель автомобилей для выбранного бренда.Добавление значений в combobox из CSV-файла

Проблема в том, что это не работает для всех брендов. Для некоторых из них Python говорит мне, что они NoneType и для других (тех, которые работают), что они str. Я не понимаю, как это возможно, так как я написал файл csv одинаково для всех записей.

Случалось ли это с кем-то еще раньше? Это проблема csv или проблема с python?

(я использую PyQt5 & Python 3.4)

Вот мой код:

def carSelect(self): 
    list = [] 
    list2= [] 

    with open (r"D:/MyFile/cars.csv", newline='') as f: 
    reader = csv.reader(f, delimiter=';') 
    for row inr eader: 
     list.append(row[0]) 

     for d in list: 
     if not d in list2: 
      list2.append(d) 
      ui.carBrand.addItem(d) 

    ui.carBrand.currentIndexChanged.connect(p.carModel) 

def Model(self): 
    ui.carModel.clear() 

    index = ui.carBrand.currentIndex() 
    name = ui.carBrand.currentData(index) 
    with open (r"D:/MyFile/cars.csv", newline='') as f: 
    reader = csv.reader(f, delimiter=';') 
    for row in reader: 
     if row[0] == name: 
     ui.carModel.addItem(row[1]) 

ответ

0

OK Я нашел ответ!

Это не currentData, что я должен использовать, но currentText

Спасибо за помощь.

Смежные вопросы