如何返回单个单元格值而不是整行。Excel到Python Tkinter
我想知道当我单击GetPrideful按钮时如何返回单个单元格值(A2)。而不是返回整个(A)列 当我尝试键入时:如何返回单个单元格值而不是整行。Excel到Python Tkinter,python,excel,tkinter,Python,Excel,Tkinter,我想知道当我单击GetPrideful按钮时如何返回单个单元格值(A2)。而不是返回整个(A)列 当我尝试键入时: Prideful = ws['A2'] 而不是: Prideful = ws['A'] 单击“获取骄傲”按钮时出现此错误: “TypeError:'单元格'对象不可编辑” 以下是完整的代码: from tkinter import * from openpyxl.workbook import Workbook from openpyxl import load_workboo
Prideful = ws['A2']
而不是:
Prideful = ws['A']
单击“获取骄傲”按钮时出现此错误:
“TypeError:'单元格'对象不可编辑”
以下是完整的代码:
from tkinter import *
from openpyxl.workbook import Workbook
from openpyxl import load_workbook
root = Tk()
root.title("The Book of Wisdom")
root.geometry("500x500")
wb = Workbook()
wb = load_workbook('Test_Workbook.xlsx')
ws = wb.active
Prideful = ws['A']
Happy = ws['B']
# Prideful Button ------------------------------------------------
def Prideful_list():
list = ''
for cell in Prideful:
list = f'{list + str(cell.value)}\n'
Prideful_label.config(text=list)
button_Prideful = Button(root, text="Get Prideful", command=Prideful_list)
button_Prideful.pack()
Prideful_label = Label(root, text="")
Prideful_label.pack()
# Happy Button ------------------------------------------------
def Happy_list():
list = ''
for cell in Happy:
list = f'{list + str(cell.value)}\n'
Happy_label.config(text=list)
button_Happy = Button(root, text="Get Happy", command=Happy_list)
button_Happy.pack()
Happy_label = Label(root, text="")
Happy_label.pack()
root.mainloop()
# END ==============================================================
正如错误消息所说,您尝试在Cell对象上迭代。 您将
ws['A2']
设置为Prideful
,并在Prideful
上执行for循环,但似乎Cell对象不支持迭代
如果希望为代码添加一些灵活性,以便可以基于行或列进行迭代,请尝试:
for row in range(x):
for column in range(y):
value = ws.cell(row, column).value
如果您使用
Prideful=ws['A2']
,则不应在Prideful_list()
函数中使用for循环,因为Prideful
只有一个单元格数据。感谢您的帮助!