📅  最后修改于: 2023-12-03 15:38:14.768000             🧑  作者: Mango
在 Dash 中,我们可以使用 DataTable 组件来显示数据表格。如果数据表格中含有日期时间的数据类型,我们需要将其显示成人类可读的日期时间格式。本文将介绍如何在 Dash 数据表中显示日期时间。
首先需要设置数据表格,可以使用 pandas 模块来读取数据并创建一个 DataFrame,然后将其传递给 DataTable 组件的 data 属性。
import dash
import dash_table
import pandas as pd
df = pd.read_csv('data.csv')
app = dash.Dash(__name__)
app.layout = dash_table.DataTable(
id='datatable',
data=df.to_dict('records'),
columns=[{'name': i, 'id': i} for i in df.columns]
)
if __name__ == '__main__':
app.run_server(debug=True)
我们需要确定包含日期时间的列,假设需要显示的日期时间列是 'date_time'。
接下来,我们需要设置日期时间的格式。可以使用 pandas 的 to_datetime() 方法将日期时间转换为 datetime64 类型,再使用 strftime() 方法将其转换为字符串格式,最后将其赋值给相应的列。
df['date_time'] = pd.to_datetime(df['date_time'])
df['date_time'] = df['date_time'].dt.strftime('%Y-%m-%d %H:%M:%S')
最后一步是将数据表格更新为新的格式。可以使用 DataTable 的 columns 属性中的 type 属性来设置 'datetime' 类型,同时还需要使用 thead 和 tbody 属性来指定日期时间列的样式。
app.layout = dash_table.DataTable(
id='datatable',
data=df.to_dict('records'),
columns=[{'name': i, 'id': i, 'type': 'datetime' if i == 'date_time' else None} for i in df.columns],
style_data_conditional=[
{
'if': {'filter_query': '{date_time} != ""'},
'backgroundColor': 'rgb(248, 248, 248)',
'color': 'black',
'textAlign': 'left'
}
],
style_header={
'backgroundColor': 'rgb(230, 230, 230)',
'fontWeight': 'bold'
},
style_table={
'maxHeight': '400px',
'overflowY': 'scroll',
'border': 'thin lightgrey solid'
},
fixed_rows={'headers': True, 'data': 0},
virtualization=True
)
以上就是如何在 Dash 数据表中显示日期时间的步骤。
在本文中,我们介绍了如何在 Dash 数据表中显示日期时间。对于任何需要显示日期时间的数据表格,您可以根据以上步骤修改代码以呈现出所需的日期时间格式。