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

如何从Tkinter Grid获取数据并保存为Pandas DataFrame导出至Excel

Tkinter输入界面数据转Pandas DataFrame并导出Excel解决方案

你用Tkinter的Grid布局创建输入界面,想要把用户输入内容存入Pandas DataFrame并导出到Excel,但当前代码获取到的是Entry对象而非实际输入值,以下是修正后的完整代码:

import pandas as pd
from tkinter import *
from tkinter import messagebox

root = Tk()
entries = []
# 创建5列10行的输入框(匹配需求,修正原代码仅2列的问题)
for row in range(10):
    row_entries = []
    for col in range(5):
        en = Entry(root)
        en.grid(row=row+1, column=col, padx=5, pady=5)
        row_entries.append(en)
    entries.append(row_entries)

# 收集所有输入框的值到data列表
def collect_data():
    global data
    data = []
    for row_entries in entries:
        row_data = [entry.get().strip() for entry in row_entries]
        data.append(row_data)
    messagebox.showinfo("提示", "数据收集完成")

# 打印并预览DataFrame内容
def show_dataframe():
    if not data:
        messagebox.showwarning("警告", "请先收集数据")
        return
    df = pd.DataFrame(data, columns=[f"列{i+1}" for i in range(5)])
    print(df)
    messagebox.showinfo("DataFrame预览", str(df))

# 导出DataFrame到Excel文件
def export_to_excel():
    if not data:
        messagebox.showwarning("警告", "请先收集数据")
        return
    df = pd.DataFrame(data, columns=[f"列{i+1}" for i in range(5)])
    try:
        df.to_excel("输入数据.xlsx", index=False)
        messagebox.showinfo("成功", "数据已导出到输入数据.xlsx")
    except Exception as e:
        messagebox.showerror("错误", f"导出失败:{str(e)}")

# 创建功能按钮并布局
Button(root, text="收集数据", command=collect_data).grid(row=12, column=0, padx=5, pady=10)
Button(root, text="查看DataFrame", command=show_dataframe).grid(row=12, column=1, padx=5, pady=10)
Button(root, text="导出到Excel", command=export_to_excel).grid(row=12, column=2, padx=5, pady=10)

data = []
root.mainloop()

关键修改说明

  • 获取实际输入值:通过Entry控件的get()方法提取用户输入的文本,原代码直接打印Entry对象,所以输出的是控件标识(如.!entry)
  • 匹配需求布局:修正原代码仅创建2列输入框的问题,循环生成5列10行的输入区域
  • 数据收集逻辑:遍历每行输入框,将单行输入值整理为列表,最终组成二维列表作为DataFrame的数据源
  • Excel导出功能:使用Pandas的to_excel()方法完成导出,添加异常处理避免导出失败时程序崩溃
  • 交互提示:通过messagebox反馈操作状态,提升使用体验

内容的提问来源于stack exchange,提问作者Muhammad Fahim Aamir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:25:11