一、Dash如何连接csv数据?
There area many ways to add data to an app: APIs, external databases, local .txt files, JSON files, and more. In this example, we will highlight one of the most common ways of incorporating data from a CSV sheet.
# Import packages
from dash import Dash, html, dash_table
import pandas as pd
# Incorporate date
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv')
# Initialize the app
app = Dash()
# App layout
app.layout = [
html.Div(children='My first App with Data'),
dash_table.DataTable(data=df.to_dict('records'), page_size=10)
]
# Run the app
if __name__ == '__main__':
app.run(debug=True)
二、解读
代码使用 Dash 库 和 Pandas 库构建简单Web 应用程序。Dash 是一个用于创建交互式Web应用程序的Python框架,特别适用于数据可视化。
csv文件包含2007年各国数据,表格格式如下:
country | pop | continent | lifeExp | gdpPercap |
Afghanistan | 31889923.0 | Asia | 43.828 | 974.5803384 |
Albania | 3600523.0 | Europe | 76.423 | 5937.029525999999 |
# Import package from dash import Dash, html, dash_table import pandas as pd
- 导入 Dash 库中的 Dash 类、html 模块和 dash_table 模块,以及 pandas 库。
- Dash 用于创建 Dash 应用程序,html 用于创建 HTML 元素,dash_table 用于在 Dash 中展示表格数据,pands 用于数据处理。
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv')
- 用 pandas 的 read_csv 函数从指定的 URL 加载 CSV 文件到 DataFrame 对象 df,方便对数据进行切片、过滤和检查。
- 如果你想读取一个本地 csv 文件,需将 csv 文件保存在当前 .py 文件的相同路径下,代码改为:
df = pd.read_csv('NameOfYourFile.csv')
- 如果你想读取一个 Excel 文件,请使用 openppyxl 模块读取文件:
df = pd.read_excel('NameOfYourFile.xlsx', sheet_name='Sheet1')
# App layout app.layout = html.Div([ html.Div(children='My First App with Data'), dash_table.DataTable(data=df.to_dict('records'), page_size=20) ])
- 设置 Dash 应用程序的布局。
- 这里使用 html.Div 创建一个包含文本"My First App with Data" 的容器。
- 接着,使用 dash_table.DataTable 组件来展示 df 中的数据。data 参数接收 DataFrame 转换为字典列表,page_size=20 表示每页显示20条记录。