有没有办法在 KivyMD 中显示 pandas Dataframe?
Is there a way to display a pandas Dataframe in KivyMD?
有没有办法在 KivyMD 中显示 pandas DataFrame?我尝试将数据框作为 KivyMD 数据表,但它不能那样工作。
您可以使用 MDDataTable 并用数据框填充该行。您只需要处理数据。尝试定义一个函数来做到这一点:
def get_data_table(dataframe):
column_data = list(dataframe.columns)
row_data = dataframe.to_records(index=False)
return column_data, row_data
然后就可以在设置列的大小后全部放入MDDataTable
import pandas as pd
from kivy.uix.anchorlayout import AnchorLayout
from kivymd.app import MDApp
from kivy.lang.builder import Builder
from kivymd.uix.datatables import MDDataTable
from kivy.metrics import dp
dataframe = pd.read_csv(filename)
class MyApp(MDApp):
def build(self):
layout = AnchorLayout()
container = my_root.ids.container
print(container)
column_data, row_data = get_data_table(dataframe)
column_data = [(x, dp(60)) for x in column_data]
table = MDDataTable(
column_data = column_data,
row_data = row_data,
use_pagination=True
)
layout.add_widget(table)
return layout
MyApp().run()
有没有办法在 KivyMD 中显示 pandas DataFrame?我尝试将数据框作为 KivyMD 数据表,但它不能那样工作。
您可以使用 MDDataTable 并用数据框填充该行。您只需要处理数据。尝试定义一个函数来做到这一点:
def get_data_table(dataframe):
column_data = list(dataframe.columns)
row_data = dataframe.to_records(index=False)
return column_data, row_data
然后就可以在设置列的大小后全部放入MDDataTable
import pandas as pd
from kivy.uix.anchorlayout import AnchorLayout
from kivymd.app import MDApp
from kivy.lang.builder import Builder
from kivymd.uix.datatables import MDDataTable
from kivy.metrics import dp
dataframe = pd.read_csv(filename)
class MyApp(MDApp):
def build(self):
layout = AnchorLayout()
container = my_root.ids.container
print(container)
column_data, row_data = get_data_table(dataframe)
column_data = [(x, dp(60)) for x in column_data]
table = MDDataTable(
column_data = column_data,
row_data = row_data,
use_pagination=True
)
layout.add_widget(table)
return layout
MyApp().run()