我试图在tkinter窗口中显示pandas数据框,我了解了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。
任何帮助将不胜感激。
答案 0 :(得分:0)
找到解决方案...文档中有一个名为table.rowheader.bind事件,当选择该事件时会为我们提供所需的索引号。