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

如何在Tkinter Treeview中展示Pandas DataFrame身高前三的数据?

在Tkinter Treeview中展示身高前三的数据

当然没问题!我来帮你把那三条身高最高的数据放到Treeview里展示,直接看修改后的代码,我会一步步给你解释:

from tkinter import *
from tkinter import ttk
import pandas as pd

root = Tk()
root.title("身高前三数据展示")
root.geometry("600x200")  # 调大窗口,方便完整展示表格内容

# 创建DataFrame
df = pd.DataFrame({
    'Name':['Chetan','yashas','yuvraj','Pooja','Sindu','Renuka'],
    'Age': [20,25,30,18,25,20],
    'Height': [155,160,175,145,155,165],
    'Weight': [75,60,75,45,55,65]
})

# 获取身高前三的数据(和你原来的代码逻辑一致)
top3_height = df.nlargest(3, 'Height')

# 创建Treeview表格组件
tree = ttk.Treeview(root)
# 设置表格列:对应DataFrame的所有列,第一个空列是Treeview默认索引列,我们后面会隐藏它
tree['columns'] = list(df.columns)
# 隐藏默认的索引列,只展示我们定义的列
tree['show'] = 'headings'

# 给每一列设置标题和宽度
for col in df.columns:
    tree.heading(col, text=col)  # 设置列标题
    tree.column(col, width=100)  # 设置列宽,保证内容不拥挤

# 把top3数据逐行插入到Treeview中
for idx, row in top3_height.iterrows():
    # 把每行数据转成元组格式,插入到表格末尾
    tree.insert('', END, values=tuple(row))

# 让表格占满窗口空间,随窗口大小自适应
tree.pack(expand=True, fill=BOTH)

root.mainloop()

关键细节说明:

  1. 窗口调整:原来的100x70窗口太小,改成600x200能完整展示所有列的内容。
  2. Treeview配置:通过show='headings'隐藏Treeview默认的索引列,只展示我们需要的DataFrame列;循环设置列标题和宽度,保证表格美观。
  3. 数据插入:用iterrows()遍历身高前三的每一行数据,转成元组后插入到表格中,这是Treeview接受的数据格式。
  4. 布局适配:用pack(expand=True, fill=BOTH)让表格能随窗口大小自动调整,不会出现内容被截断的情况。

运行这段代码后,你就能看到一个清晰的表格窗口,里面完美展示了身高排名前三的用户数据啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 19:17:44