python - 使用python在表格中显示csv数据
问题描述
如何在 Tkinter 树视图中手动显示 CSV 文件数据?
在这里,我尝试使用树视图显示 CSV 文件数据。要在 tkinter 中手动插入数据,请使用以下命令:
tree.insert('', 'end', values = (val[sorted(j for j in range(k[1]))]),tag = 'gray')
使用它,我在 GUI 上得到括号,并且时间戳列已分开。
使用时
tree.insert('', 'end', values = (val[0],val[1],val[2],val[3],val[4],val[5],val[6],val[7],val[8],val[9],val[10],val[11],val[12],val[13],val[14],val[15]),tag = 'gray')
我没有得到任何括号,并且时间戳列没有分开。
为什么会这样?请建议。
from tkinter import *
from tkinter import ttk
import pandas as pd
from tkinter import filedialog
from tkinter.filedialog import askopenfile
root = Tk()
root.geometry("1500x200")
data = []
file = ('E:\\PYTHON\\data transfer\\shiva new\\100lines.csv')
csv_data = pd.read_csv(file)
k = csv_data.shape
print(k)
values = csv_data.values
columns = csv_data.columns
frame = Frame(root,height=500,width=500)
frame.pack(fill='both',expand=1)
tree = ttk.Treeview(frame, columns = (sorted(col for col in range(1,k[1]+2))),height = 2, show = "headings")
print(tree['columns'])
tree.pack(side = 'left',fill='both',expand=1)
scroll1 = Scrollbar(frame, orient="vertical", command=tree.yview)
scroll1.pack(side = 'right', fill = 'y')
tree.configure(yscrollcommand=scroll1.set)
scroll2 = Scrollbar(root, orient="horizontal", command=tree.xview)
scroll2.pack(side = 'bottom', fill = 'x')
tree.configure(xscrollcommand=scroll2.set)
for i in range(1,k[1]+2):
print(i)
tree.heading(i, text=i)#(k for k in range(k[1]))
tree.column(i, width = 80)
for i,val in enumerate(values):
i1 = i%2
if (i1==0):
tree.insert('', 'end', values = (val[sorted(j for j in range(k[1]))]),tag = 'gray')
#tree.insert('', 'end', values = (val[0],val[1],val[2],val[3],val[4],val[5],val[6],val[7],val[8],val[9],val[10],val[11],val[12],val[13],val[14],val[15]),tag = 'gray')
else:
tree.insert('', 'end', values = (val[0],val[1],val[2],val[3],val[4],val[5],val[6],val[7],val[8],val[9],val[10],val[11],val[12],val[13],val[14],val[15]))
#tree.insert('', 'end', values = (val[sorted(j for j in range(k[1]))]))
tree.tag_configure('gray', background='#cccccc')
root.mainloop()
解决方案
谢谢acw1668。使用元组问题解决了。
现在我如何插入行号?
推荐阅读
- mysql - Google 条形图在没有可用数据的情况下填充空白
- android - Android 应用程序中的单例类或扩展 ThreadPoolInstance 的应用程序
- amazon-web-services - AWS 使用 Cloudfront 增强托管性能
- python - pyplot:在轴上添加点投影
- flutter - 如何用颤动的条子做动画切换器
- android - 我的设备脱机并显示脱机反应本机但已连接到笔记本电脑
- php - Laravel Livewire 计算器/键盘,提高输入显示速度
- python - discord.py:隐藏所有其他用户的消息,但@提及用户
- c# - Try...catch 在执行存储过程时不起作用
- java - 如何编写自定义比较器以使用 SimpleEntry 对树集进行排序?