0

我正在将一个 GUI 变量分配给一个 Excel 工作表单元格。我使用 PySimplegui,然后读取该 GUI 的值,并使用 openpyxl 写入我的 excel 表。它总是告诉我

TypeError: 'NoneType' object is not subscriptable

无论。

import PySimpleGUI as sg
import openpyxl

wb = load_workbook(filename=template_sheet)
excel_sheet = wb['Sheet 1']

layout = [
sg.Input('Input Address here', key='_address_')
]
window = sg.window(layout)

excel_sheet['F9'] = values['_address_'] # THIS IS THE PROBLEM CHILD

我希望将values['_address_]其放入 excel 表的单元格 F9 中。相反,它只是告诉我因为values['_address_']Nonetype(不管它是否填写),它甚至没有尝试

4

1 回答 1

0

你有5个问题。您是否正在查看错误并使用示例代码?

第一个本质上是语法,因为没有 sg.window。它应该是 sg.Window。你应该得到一个错误。

其次,您需要为窗口添加标题。您的代码将布局作为标题传递。

第三,你需要调用window.Read()。这是你得到values变量的地方。

sg.Input第四,您在元素周围缺少一对 [] 。

第五,您没有触发事件的按钮。您唯一能做的就是关闭将返回None输入元素值的窗口。

您可以复制的基本设计模式在自述文件中。

import PySimpleGUI as sg
import openpyxl

wb = load_workbook(filename=template_sheet)
excel_sheet = wb['Sheet 1']

layout = [
           [sg.Input('Input Address here', key='_address_')],
           [sg.Button('Go')]
         ]

window = sg.Window('Window title', layout)

event, values = window.Read()

excel_sheet['F9'] = values['_address_'] # THIS IS THE PROBLEM CHILD
于 2019-07-31T14:43:54.737 回答