Python 如何从tkinter中的excel值中进行下拉?

Python 如何从tkinter中的excel值中进行下拉?,python,excel,tkinter,combobox,dropdown,Python,Excel,Tkinter,Combobox,Dropdown,我已经准备好了这个代码。这将打印列中的所有值,但在tkinter下拉列表中,它只提供所提供范围内最后一个值的选项,即仅B10。你们能根据我的需要修改这个代码吗?我在列中有1000多个值。 提前感谢。制作一个空列表,然后将每个值追加到列中。另外,确保不要将保留关键字用作变量 代码: 从openpyxl导入加载\u工作簿 从tkinter进口* 将tkinter.ttk导入为ttk #加载xlsx文件,然后将每列的值存储在“元素”列表中 wb=load\u工作簿(filename=r“C:\User

我已经准备好了这个代码。这将打印列中的所有值,但在tkinter下拉列表中,它只提供所提供范围内最后一个值的选项,即仅B10。你们能根据我的需要修改这个代码吗?我在列中有1000多个值。
提前感谢。

制作一个空列表,然后将每个值追加到列中。另外,确保不要将保留关键字用作变量

代码:

从openpyxl导入加载\u工作簿
从tkinter进口*
将tkinter.ttk导入为ttk
#加载xlsx文件,然后将每列的值存储在“元素”列表中
wb=load\u工作簿(filename=r“C:\Users\Hp\Desktop\Test data.xlsx”)
ws=wb['Sheet1']
xlsx_范围=ws['B2':'B10']
元素=[]
对于xlsx_范围内的单元格:
对于单元中的x:
y=x.0值
元素。追加(y)
打印(y)
#特金特材料
win=Tk()
clicked=StringVar()
combodata=ttk.Combobox(win,宽度=100,状态='readonly',值=元素)
combodata.pack(pady=20)
win.mainloop()

实际上,我在列中有1000多个值,所以这不是一个可行的选项。@Komalpreetingh如果在列中有1000个值,为什么这不是一个可行的选项?@Komalpreetingh有
元素=[[x.value for x in cell]for cell in xlsx_range]
工作而不是整个循环?@CoolCloud是的,它工作,但下拉列表中的每个备选选项都显示在{}中。这些,不知道原因。我认为for loop会起作用(如果有帮助的话)。Tkinter Lover的回答中没有提到你的要求是什么?请详细说明你的观点。@warcupine你说这不可行,但这正是你想要的。好的,我现在得到了…代码完全按照你的想法工作…thanxx太多了@Warcupine
from openpyxl import load_workbook

wb = load_workbook(filename=r'C:\Users\Hp\Desktop\Test data.xlsx' )

ws = wb['Sheet1']

range=ws['B2':'B10']

for cell in range:

    for x in cell:

        y=x.value

        print(y)

win=Tk()

clicked=StringVar()

combodata=ttk.Combobox(win, width=100,state='readonly')

combodata['values']=[(y)]

combodata.pack(pady=20)

win.mainloop()