Получение номера индекса из pandastable - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь отобразить pandas dataframe в окне tkinter, и я узнал о pandastable Library. На данный момент я могу отобразить мой фрейм данных в pandastable, используя приведенный ниже код, но я застрял в проблеме. Теперь, если я выберу / нажму на какой-нибудь индекс в pandastable, соответствующая строка будет выделена в таблице. Проблема в том, что я хотел получить выбранный индексный номер из pandastable, когда я нажимал на определенный индекс в pandastable.

На данный момент я пытался get_row_clicked (событие) & 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()

Я ожидаю получить значение индекса как 2, если я нажму на второй индекс pandastable и так далее.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 01 мая 2019

Есть решение ... В документации есть событие с именем table.rowheader.bind, которое дает нам необходимый номер индекса при его выборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...