Редактируемый DataTable в Боке - PullRequest
0 голосов
/ 22 января 2020

У меня есть редактируемая DataTable в Bokeh . Я загружаю данные из DataFrame, и после их изменения мне нужно получить новые данные . Я пытаюсь получить данные с событием on_change, но это неправильно. Пример запуска с bokeh serve --show app.py

from bokeh.io import curdoc
from bokeh.layouts import row, column
import pandas as pd
from bokeh.models import ColumnDataSource, ColorBar, DataTable, DateFormatter, TableColumn, HoverTool, Spacer, DatetimeTickFormatter

#Pandas
df = pd.DataFrame(data = {'Apples': [5,10], 'Bananas': [16,15], 'Oranges': [6,4]})
df.rename(index={0:'A',1:'B'}, inplace=True)

#BOKEH
sourceTableSummary = ColumnDataSource(df)
Columns = [TableColumn(field=colIndex, title=colIndex) for colIndex in df.columns]
data_table = DataTable(columns=Columns, source=sourceTableSummary, index_position = 0, width = 1900, height = 200, fit_columns=False)

#Funcs
def return_value(attr, old, new):
    print('return_value')
    selectionRowIndex=sourceTableSummary.selected.indices[0]
    print("Selected Row Index ", str(selectionRowIndex))
    selectionValue=sourceTableSummary.data['Apples'][selectionRowIndex]
    print("Selected value for Apples ", str(selectionValue))
    # selectionColumnIndex?
    # selectionRowHeader?
    # selectionColumnHeader?

sourceTableSummary.on_change('selected', return_value)

curdoc().add_root(column(children=[data_table]))
...