Как отобразить вложенный словарь с возможностью отображения данных боке

#bokeh

Вопрос:

Я пытаюсь отобразить словарь с вложенными словарями внутри. И в ячейках с вложенным словарем, boke datatable отображает это как [объект объекта].

До сих пор я распаковывал словари вручную, чтобы отобразить фактические данные, однако мне было интересно, есть ли лучший способ сделать это? возможно, какой-то форматер в базе данных?

Я открыт для предложений.

Ответ №1:

Вы могли бы попробовать выполнить некоторые манипуляции с данными с Пандами, прежде чем использовать Боке

 from bokeh.models import ColumnDataSource
from bokeh.models.widgets import TableColumn, DataTable
from bokeh.io import output_file, show
import pandas as pd

nested_dictionary = {"user1": {'name': 'John', 'age': '27', 'sex': 'Male'},
          "user2": {'name': 'Marie', 'age': '22', 'sex': 'Female'},
          "user3": {'name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'}}
    
df = pd.DataFrame.from_dict(nested_dictionary, orient='index')
        
print (df.head())
source = ColumnDataSource(df)

# Dataframe -> DataTable
table_columns = [TableColumn(field=name, title=name)for name in df.columns]
data_table = DataTable(source=source, columns=table_columns, width=580, height=280)

# Specify the name of the output file and show the result
output_file('example_so.html')
show(data_table)
 

Если ваши данные поступают из файла JSON, проверьте json_normalize() из pandas.io.json