本文适用于tkinterGUI显示Excel数据
python Excel数据显示
- python tkinter tkintertable Excel数据显示到GUI上
- 前言
- 一、创建GUI界面
- 二、使用步骤
- 1.引入库
- 三、效果图
- 总结
前言
本文主要使用是将Excel数据显示到python tkinter GUI 界面上进行展示,主要使用的方法为pandas Dataframe对Excel数据进行处理,再使用tkintertable显示到GUI界面上。
一、创建GUI界面
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤 1.引入库代码如下(示例):
from tkintertable import TableCanvas, TableModel
from tkinter import *
import tkinter as tk
import pandas as pd
import os
import time
CreateFileTime = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
directory_time = time.strftime("%Y-%m-%d",time.localtime(time.time()))
path = os.getcwd()
print(path,CreateFileTime,directory_time)
master = tk.Tk()
master.geometry('600x700')
tframe = frame(master)
tframe.pack()
for root,dirs,files in os.walk(path):
i = 1
for file in files:
print(file)
if os.path.splitext(file)[1] == '.xlsx':
print(file)
print('---------------------操作开始---------------------')
path = file
data = pd.read_excel(path,None)#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
print(data.keys())#查看sheet的名字
for sh_name in data.keys():
print('sheet_name的名字是:',sh_name)
global sh_data
sh_data = pd.Dataframe(pd.read_excel(path,sh_name))#获得每一个sheet中的内容
print('总行数:',sh_data.shape[0])
print('总列数:',sh_data.shape[1])
print(sh_data)
print("行数",sh_data.index.values)
print("前x行",sh_data.head(1))
print("列索引数据定位",sh_data.columns[2])
print("数据定位",sh_data.iloc[0,1])
print("第0行数据",sh_data.values[0])
head_data = {}
data = {'1': {sh_data.columns[1]:float(sh_data.iloc[0,1]), sh_data.columns[2]: float(sh_data.iloc[0,2]), sh_data.columns[3]: float(sh_data.iloc[0,3])},
'2': {sh_data.columns[1]: float(sh_data.iloc[1,1]), sh_data.columns[2]: float(sh_data.iloc[1,2]), sh_data.columns[3]: float(sh_data.iloc[1,3])},
'3': {sh_data.columns[1]: float(sh_data.iloc[2,1]), sh_data.columns[2]: float(sh_data.iloc[2,2]), sh_data.columns[3]: float(sh_data.iloc[2,3])},
'4': {sh_data.columns[1]: float(sh_data.iloc[3,1]), sh_data.columns[2]: float(sh_data.iloc[3,2]), sh_data.columns[3]: float(sh_data.iloc[3,3])},
'5': {sh_data.columns[1]: float(sh_data.iloc[4,1]), sh_data.columns[2]: float(sh_data.iloc[4,2]), sh_data.columns[3]: float(sh_data.iloc[4,3])}
}
table = TableCanvas(tframe, data=data)
table.show()
master.mainloop()
三、效果图
总结
文章总结:
- Excel放在与源代码同目录下
- 需要pip install tkintertable 下载地址
- 需要pip install pandas
- 若需要进行多行显示则自行进行添加行列数即可



