从 CSV 文件在组合框中添加值
Adding values in a combobox from CSV file
我有 2 个组合框,它们从 csv 文件中获取它们的值。
第一个组合框在启动 GUI 时自动获取汽车品牌的名称。
第二个组合框获取所选品牌的不同车型。
我遇到的问题是这不适用于所有品牌。
对于其中一些,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])
好的,我找到答案了!
我必须使用的不是 currentData,而是 currentText
感谢您的帮助。
我有 2 个组合框,它们从 csv 文件中获取它们的值。 第一个组合框在启动 GUI 时自动获取汽车品牌的名称。 第二个组合框获取所选品牌的不同车型。
我遇到的问题是这不适用于所有品牌。 对于其中一些,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])
好的,我找到答案了!
我必须使用的不是 currentData,而是 currentText
感谢您的帮助。