【发布时间】:2019-04-25 08:03:06
【问题描述】:
我正在尝试在 tkinter 窗口中显示 pandas 数据框,并且我了解了 pandastable 库。到目前为止,我可以使用下面的代码在 pandastable 中显示我的数据框,但我遇到了一个问题。 现在,如果我选择/单击 pandastable 中的某个索引,则相应的行会在表中突出显示。 问题是当我单击 pandastable 中的特定索引时,我想从 pandastable 获取选定的索引号。
到目前为止,我尝试了 get_row_clicked(event) 和 getSelectedRow(),但它只给了我点击/选择的行号。
import tkinter as tk
from tkinter import *
from pandastable import Table, TableModel
import pandas as pd
df = pd.read_csv(path to CSV file)
app = Tk()
app.geometry('600x400+200+100')
app.title('Table app')
f = tk.Frame(app)
f.pack(fill=BOTH,expand=1)
table = pt = Table(f, dataframe=df,
showtoolbar=True, showstatusbar=True)
pt.show()
def handle_left_click(event):
rowclicked = pt.get_row_clicked(event)
print("RowClicked", rowclicked)
rowsel = pt.getSelectedRow()
print("RowSelected", rowsel)
table.bind("<Button-1>",handle_left_click)
app.mainloop()
如果我点击 pandastable 的第二个索引,我希望索引值为 2,依此类推。
任何帮助将不胜感激。
【问题讨论】:
标签: python-3.x pandas tkinter