从熊猫表获取索引号

时间:2019-04-25 08:03:07

标签: python-3.x pandas tkinter

我试图在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。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

找到解决方案...文档中有一个名为table.rowheader.bind事件,当选择该事件时会为我们提供所需的索引号。