Last active 10 months ago

此範例展示如何使用 Streamlit 處理大量資料,並提供可視化表格 (dataframe) 和可編輯表格 (data_editor) 來動態調整資料。支援圖片預覽、進度條顯示及類別選擇,適用於資料分析與管理應用。

Revision 5f651d573679f6d8e5aec37534b812773bf74d58

streamlit_large_dataframe.py Raw
1import streamlit as st
2import pandas as pd
3import numpy as np
4
5st.write("Got lots of data? Great! Streamlit can show [dataframes](https://docs.streamlit.io/develop/api-reference/data) with hundred thousands of rows, images, sparklines – and even supports editing! ✍️")
6
7num_rows = st.slider("Number of rows", 1, 10000, 500)
8np.random.seed(42)
9data = []
10for i in range(num_rows):
11 data.append(
12 {
13 "Preview": f"https://picsum.photos/400/200?lock={i}",
14 "Views": np.random.randint(0, 1000),
15 "Active": np.random.choice([True, False]),
16 "Category": np.random.choice(["🤖 LLM", "📊 Data", "⚙️ Tool"]),
17 "Progress": np.random.randint(1, 100),
18 }
19 )
20data = pd.DataFrame(data)
21
22config = {
23 "Preview": st.column_config.ImageColumn(),
24 "Progress": st.column_config.ProgressColumn(),
25}
26
27if st.toggle("Enable editing"):
28 edited_data = st.data_editor(data, column_config=config, use_container_width=True)
29else:
30 st.dataframe(data, column_config=config, use_container_width=True)
31