如何解决将熊猫表导入Tkinter项目
到目前为止,我在项目中已经使用tkinter
及其treeview
小部件来导入和查看csv文件中的某些数据。但是,我发现自己的功能受限于我要实现的目标。
我在其他SO问题中读到可以将Pandas
数据帧导入Tkinter项目并显示在tkinter
GUI中。我在@ https://gist.github.com/gugat/7cf57eb628f3bb0a3d54b3f8d0023b63 上找到了一些在线代码,但是我无法解决如何将其迁移到我现有的tkinter
代码中。
import tkinter as tk
from tkinter import *
import tkinter.ttk as tkrttk
from PIL import Image,ImageFont,ImageTk
import csv
from tkinter import filedialog
import pandas as pd
from pandastable import Table,TableModel
root = tk.Tk()
root.geometry("2000x1000")
filepath = (r"C:/Users\James\Desktop\test_data.csv")
root.title('Workshop Manager')
style = tkrttk.Style()
style.configure("Treeview.Heading",foreground='Red',font=('Helvetica',10))
df = pd.read_csv(filepath)
pt = Table(parent)
class TestApp(Frame):
"""Basic test frame for the table"""
def __init__(self,parent=root):
self.parent = parent
Frame.__init__(self)
self.main = self.master
self.main.geometry('600x400+200+100')
self.main.title('Table app')
f = Frame(self.main)
f.pack(fill=BOTH,expand=1)
df = TableModel.getSampleData()
self.table = pt = Table(f,dataframe=df,showtoolbar=True,showstatusbar=True)
pt.show()
return
app = TestApp()
root.mainloop()
假设此NameError name parent is not defined
是我的问题,我收到错误消息pt = Table(parent)
。我尝试过pt = Table(root)
,因为我认为这会将其放置在tkinter root
窗口中。但这没用。
解决方法
部分代码来自pandastable
文档中使用的示例,但这不是一个很好的示例。
如果您只想使用pandastable
显示CSV文件,则下面是一个简单的示例:
import tkinter as tk
from pandastable import Table,TableModel
filepath = 'C:/Users/James/Desktop/test_data.csv'
root = tk.Tk()
root.geometry('1600x900+10+10')
root.title('Workshop Manager')
class TestApp(tk.Frame):
def __init__(self,parent,filepath):
super().__init__(parent)
self.table = Table(self,showtoolbar=True,showstatusbar=True)
self.table.importCSV(filepath)
self.table.show()
app = TestApp(root,filepath)
app.pack(fill=tk.BOTH,expand=1)
root.mainloop()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。