首页 > 解决方案 > 如何在 Dash Table 中舍入小数位

问题描述

我有以下python代码:

import dash
import dash_html_components as html
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/dougmellon/rockies_dash/master/rockies_2019.csv')

def generate_table(dataframe, max_rows=10):
    return html.Table(
        # Header
        [html.Tr([html.Th(col) for col in dataframe.columns])] +

        # Body
        [html.Tr([
            html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
        ]) for i in range(min(len(dataframe), max_rows))]
    )


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H4('Batting Stats (2019)'),
    generate_table(df)
])

if __name__ == '__main__':
    app.run_server(debug=True)

这是从这个 csv 文件( github )中提取数据:

在此处输入图像描述

当我运行以下代码时,

蟒蛇应用程序.py

它显示大于三位小数的数据 - 这不在我的 csv 文件中。

在此处输入图像描述

我已经尝试了三四次手动重新输入数据并将 CSV 重新上传到 github,但由于某种原因,仍然存在大于三位小数的数据。

有没有人对我如何解决这个问题有任何建议?

标签: pythonplotly-dash

解决方案


您需要columns按照以下行在 Dash DataTable 构造函数的参数中传递每列类型和格式说明符

DataTable(..., columns=[{'id': 'one', 'type':'numeric', 'format': {'specifier': '.2f'}}])

推荐阅读