rai*_*ner 5 combobox pyqt pandas openpyxl
我正在开发一个应用程序,允许用户动态添加和删除excel文件中的项目.物品数量应无限制.
我正在寻找一种从excel文件中获取项目并将它们传输到ComboBox的方法.
让自己更清楚:问题不是遍历单元格,而是将单元格值放入ComboBox.我需要一种方法,用给定列中的值捕获所有单元格的内容,其中范围的结尾是未知的,然后将值传递给ComboBox.
Combobox只接受值,而不接受任何空单元格.我也不希望ComboBox中的字段说"没有价值".
我已尝试通过单元格和范围方法进行itering,但这并没有将值放入ComboBox.
到目前为止我所拥有的是:
wb = load_workbook (source_file)
ws = wb.active
self.value_1 = ws['B2'].value
self.value_2 = ws['B3'].value
self.value_3 = ws['B4'].value
self.value_4 = ws['B5'].value
self.value_5 = ws['B6'].value
self.value_6 = ws['B7'].value
self.value_7 = ws['B8'].value
self.value_8 = ws['B9'].value
self.value_9 = ws['B10'].value
self.value_10 = ws['B11'].value
stock_items = [ self.value_1 , self.value_2 , self.value_3 , self.value_4 , self.value_5 ,
self.value_6 , self.value_7 , self.value_8 , self.value_9 , self.value_10 ]
self.combo_items_list = [ ]
for stock_item in stock_items :
if stock_item != None :
self.combo_items_list.append (stock_item)
self.combo.addItems(self.combo_items_list)
Run Code Online (Sandbox Code Playgroud)
这按预期工作,但让我感到困扰的是,我必须为我从excel文件中获取的每个项目添加一行代码,此外还需要在stock_items列表中添加一个额外的条目.如果文件中有5.000个项目,则会在列表中生成5.000行代码和5000个条目.
是否有更高效和优雅的方式来处理"柜台"或熊猫的问题?
提前致谢.
小智 0
wb = load_workbook (source_file)
ws = wb.active
self.combo_items_list = [ ]
// loop from 2(start)-11(end)
// check if ws['B'<counter>].value is available and not null
// add this value to your array of combo for each ittration.
self.combo_items_list.append (ws['B'<counter>].value)
self.combo.addItems(self.combo_items_list)
Run Code Online (Sandbox Code Playgroud)
抱歉,如果我弄错了。我不知道给定语言的语法。仍然看到一个合乎逻辑的答案并决定发布。