【发布时间】:2020-08-24 06:12:13
【问题描述】:
我目前有以下脚本,它读取导入的 csv 文件并在 tkinter GUI 中显示为 pandastable。
在导入文件时,它会添加 x2 个额外的列 self.table.addColumn("Current Status") 和 self.table.addColumn("Assign Technician")。
如何将更新后的pandastable dataframe 存储到class TestApp(tk.Frame): 之外的变量中,以便稍后在我的代码中调用dataframe 上的其他函数?
我之前使用过global 变量,以便稍后可以调用从外部函数中创建的variable,但不确定这是否是我为此目的所需要的。
import csv
import tkinter as tk
import tkinter.ttk as tkrttk
from tkinter import *
from tkinter import filedialog
import pandas as pd
from pandastable import Table, TableModel
root = tk.Tk()
root.geometry("2000x1000")
root.title('Workshop Manager')
def select_input_file():
global input_file_path
input_file_path = filedialog.askopenfilename(
filetypes=(("CSV files", "*.csv"),))
app = TestApp(root, input_file_path)
app.place(bordermode = INSIDE,height = 500, width = 2000, x =0, y=50)
class TestApp(tk.Frame):
def __init__(self, parent, input_file_path, editable = True, enable_menus = True):
super().__init__(parent)
self.table = Table(self, showtoolbar=False, showstatusbar=False)
self.table.importCSV(input_file_path)
self.table.show(input_file_path)
self.table.addColumn('Current Status')
self.table.addColumn('Assign Technician')
self.table.autoResizeColumns()
root.mainloop()
【问题讨论】: