You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Tkinter如何将单选按钮点击值保存到Excel文件

Tkinter单选按钮选中值实时存入Excel实现方案

前置准备

先安装Excel文件处理依赖,打开命令提示符/终端执行以下命令:
pip install openpyxl

核心修改逻辑

  • 统一原有代码的变量类型:把单选按钮绑定的值从字符串改为整数,和IntVar类型匹配,避免取值异常
  • 点击事件触发时自动判断Excel文件是否存在:不存在则新建文件并写入表头,存在则直接加载已有文件
  • 每次点击获取到选中值后,作为新行追加到Excel中,保存文件保证数据实时写入不丢失

完整修改后代码

from tkinter import *
import tkinter as tk
import os
from openpyxl import Workbook, load_workbook

# 记录文件保存在脚本同目录下
SAVE_FILE = "class_selection_record.xlsx"

master = Tk()
master.geometry("175x175")
 
# 单选按钮绑定变量,默认值0代表无选中
v = IntVar(master, 0)

# 单选按钮配置,值统一用整数类型
values = {"classe 1" : 1,
          "classe 2" : 2,
          "classe 3" : 3,
          "classe 4" : 4}


def affiche ():
    selected_val = v.get()
    print(selected_val)
    
    # 判断文件是否存在,不存在则新建并写表头
    if not os.path.exists(SAVE_FILE):
        wb = Workbook()
        ws = wb.active
        ws.append(["记录序号", "选中班级值"])
        next_index = 1
    else:
        wb = load_workbook(SAVE_FILE)
        ws = wb.active
        # 计算下一条记录的序号(表头占1行)
        next_index = ws.max_row

    # 追加本次选中记录
    ws.append([next_index, selected_val])
    wb.save(SAVE_FILE)
    wb.close()


labelValue = tk.Label(master, 
         text="""Choose your class affectation:""",
         justify = tk.LEFT,
         padx = 20).pack()

for (text, value) in values.items():
    Radiobutton(master, text = text, variable = v, command = affiche, 
                value = value).pack(side =TOP, ipady = 5)

mainloop()

效果说明

运行脚本后,每次点击单选按钮,控制台依旧会打印对应数值,同时同目录下会自动生成class_selection_record.xlsx文件,按点击顺序存储所有选中记录,和控制台输出顺序、数值完全一致。


内容的提问来源于stack exchange,提问作者Ramh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 22:16:01