cuốn sách gpt4 ai đã làm

"Thú vị với Streamlit"--tải lên và tải xuống tệp

In lại Tác giả: Sahara Thời gian cập nhật: 25-12-2024 16:47:42 57 4
mua khóa gpt4 Nike

Trong các ứng dụng web, upload và download file là chức năng không thể thiếu trong quá trình tương tác.

Bởi vì trong các chức năng kinh doanh nhìn chung không chỉ có sự tương tác bằng văn bản mà việc thu thập và phân phối thông tin hoặc hình ảnh là những yêu cầu rất phổ biến.

Ví dụ: tải tệp lên cho phép người dùng gửi dữ liệu lên máy chủ, chẳng hạn như tải ảnh lên để chia sẻ cuộc sống, gửi tài liệu để cộng tác trong công việc, v.v., làm phong phú thêm các chức năng của ứng dụng.

Tải xuống tệp cho phép người dùng lấy tài nguyên phía máy chủ, chẳng hạn như tải xuống phần mềm, báo cáo, v.v., cải thiện khả năng lấy nội dung ứng dụng của người dùng và nâng cao trải nghiệm người dùng cũng như tính thực tế của ứng dụng.

Bài viết này giới thiệu cách triển khai chức năng tải lên và tải xuống tệp trong ứng dụng Streamlit.

1. Tải lên st.file_uploader

Streamlit có thể dễ dàng thực hiện chức năng tải tệp lên thông qua st.file_uploader.

Khi st.file_uploader thực hiện tải tệp lên, nó bao gồm các chức năng sau:

  1. Lựa chọn tệp cục bộ: Tạo thành phần tải lên tệp và sau đó người dùng có thể chọn tệp cục bộ để tải lên thông qua thành phần này
  2. Hạn chế loại tệp: Bạn có thể chỉ định các phần mở rộng tệp được phép tải lên
  3. Hỗ trợ tải lên nhiều tệp: có thể chọn và tải lên nhiều tệp cùng một lúc

Các thông số chính của nó là:

tên kiểu minh họa
nhãn str Một thẻ ngắn giải thích mục đích của việc tải tệp lên
kiểu [str] Mảng đuôi file được phép upload
chấp nhận_multiple_files bool Có cho phép tải nhiều file lên cùng lúc hay không
chìa khóa str Mã định danh duy nhất của thành phần
giúp đỡ str Mẹo tải tập tin lên
on_change vui vẻ Chức năng gọi lại khi tải tập tin lên
lập luận bộ đồ Một bộ đối số tùy chọn được truyền cho hàm gọi lại
kwargs mệnh lệnh Một từ điển các tham số tùy chọn được truyền cho hàm gọi lại
nhãn_khả năng hiển thị str Khả năng hiển thị nhãn

Lưu ý rằng tham số label_visibility được sử dụng cùng với nhãn. Chỉ có ba giá trị cho label_visibility:

  1. dễ thấy: Đây là giá trị mặc định, biểu thị hiển thị bình thườngnhãn
  2. ẩn giấu:Hiển thị phần giữ chỗ trống
  3. sụp đổ: Không hiển thị nhãn hoặc phần giữ chỗ

Tham số nhãn cũng hỗ trợ một số định dạng đánh dấu, có thể làm cho nội dung nhãn hiển thị phong phú hơn.

Dưới đây là một số ví dụ minh họa cách sử dụng tính năng tải lên:

1.1. Sử dụng cơ bản

Trong ví dụ này, hàm st.file_uploader tạo thành phần tải lên tệp có nhãn "Chọn tệp".

Khi người dùng chọn và tải file lên, ứng dụng sẽ hiển thị tên file của file đã tải lên.

import Streamlit as st upload_file = st.file_uploader("Select file:") nếu upload_file không phải là None: st.write(uploaded_file.name)

1.2.Hạn chế tải lên

Theo mặc định, Streamlit cho phép tải lên giới hạn kích thước tệp là 200MB.

Nếu cần sửa đổi giới hạn này, bạn có thể thực hiện bằng cách định cấu hình tùy chọn server.maxUploadSize.

Ví dụ: để đặt giới hạn kích thước tệp tải lên là 500MB, bạn có thể thêm cấu hình sau vào tệp cấu hình config.toml của Streamlit:

[máy chủ] maxUploadSize = 500

1.3. Các loại tệp được phép

Chỉ định loại tệp được phép tải lên thông qua tham số loại.

Ví dụ: để chỉ cho phép tải lên tệp hình ảnh (định dạng png và jpg), bạn có thể sử dụng nó như sau:

import Streamlit as st upload_file = st.file_uploader("Chọn file ảnh", type=["png", "jpg"])

1.4. Tải lên nhiều tập tin

Nếu cần cho phép người dùng tải lên nhiều tệp, bạn có thể đặt tham số Accept_multiple_files thành True.

Ví dụ như sau:

nhập luồng được chiếu sáng dưới dạng st upload_files = st.file_uploader("Chọn nhiều tệp:", Accept_multiple_files=True) cho upload_file trong upload_files: st.write(uploaded_file.name)

1.5 Gọi lại sau khi tải tập tin lên

Sau khi tải tệp lên, nhiều quy trình khác nhau có thể được thực hiện trên tệp.

Ví dụ: bạn có thể đọc nội dung tệp, lưu tệp cục bộ, sử dụng dữ liệu tệp để tính toán, v.v.

Dưới đây là ví dụ đọc tệp CSV đã tải lên và hiển thị dữ liệu:

import Streamlit as st nhập gấu trúc dưới dạng pd đã tải lên_file = st.file_uploader("Chọn tệp CSV:") nếu tệp đã tải lên không phải là Không có: dataframe = pd.read_csv(uploaded_file) st.write(dataframe)

2. Tải xuống st.download_button

Trong Streamlit, st.download_button thường được sử dụng để triển khai chức năng tải xuống tệp.

Khi người dùng nhấp vào nút tải xuống, nội dung tệp được chỉ định có thể được tải xuống thiết bị cục bộ.

Chức năng này rất thiết thực trong nhiều tình huống, chẳng hạn như cho phép người dùng tải xuống các báo cáo dữ liệu, hình ảnh, tài liệu, v.v.

Các thông số chính của st.download_button là:

tên kiểu minh họa
nhãn str Một nhãn ngắn giải thích mục đích của việc tải xuống tệp
dữ liệu str/byte/tập tin Nội dung file cần tải về
tên_tệp str Chỉ định tên tệp đã tải xuống.
script script str Dữ liệu MIME type
chìa khóa str Mã định danh duy nhất của thành phần
giúp đỡ str Thông báo nhắc nhở để tải tập tin
on_click vui vẻ Chức năng gọi lại khi nhấn nút
lập luận bộ đồ Một bộ đối số tùy chọn được truyền cho hàm gọi lại
kwargs mệnh lệnh Một từ điển các tham số tùy chọn được truyền cho hàm gọi lại
kiểu str Chỉ định loại nút
biểu tượng str Biểu tượng cảm xúc hoặc biểu tượng xuất hiện bên cạnh nút nhãn

Lưu ý loại tham số chỉ có 3 loại:

  1. sơ đồ bình đẳng: Nền tảng được nhấn mạnh bởi màu sắc chính của ứng dụng
  2. thân cây sơ đồ: Phối hợp với nền
  3. cấp ba: Văn bản thuần túy không có khung hoặc nền

Dưới đây là một số ví dụ minh họa cách sử dụng nội dung tải xuống:

2.1. Sử dụng cơ sở dữ liệu

Dưới đây là một ví dụ đơn giản cho thấy cách sử dụng st.download_button để tải xuống một tệp có nội dung chuỗi.

import Streamlit as st text_contents = "Đây là văn bản để tải xuống." st.download_button("Tải xuống tệp văn bản:", text_contents)

2.2. Tải xuống tệp CSV

Trong ví dụ này, trước tiên chúng tôi chuyển đổi DataFrame thành byte dữ liệu ở định dạng CSV, sau đó cung cấp tính năng tải xuống down information qua st.download_button.

nhập Streamlit dưới dạng st nhập gấu trúc dưới dạng pd @st.cache_data def Convert_df(df): pd.DataFrame({"col1": [1, 2, 3] , "col2": ["a", "b", "c"]}) csv_data = Convert_df(df) st.download_button( label="Tải xuống CSV", data=csv_data, file_name="data.csv", mime="text/csv", )

2.3.

Trong ví dụ này, chúng tôi mở một hình ảnh tệp, đọc nội dung tệp ở chế độ đọc nhị phân và chuyển nó đến nút tải xuống dưới dạng dữ liệu tham số.

nhập Streamlit dưới dạng st với open("image.jpg", "rb") dưới dạng tệp: btn = st.download_button( label="Tải xuống hình ảnh", data=file, file_name="image.jpg", mime="image/ jpeg")

3. Tóm tắt

Nhìn chung, các thành phần st.file_uploader và st.download_button trong Streamlit là những công cụ chính tương thích với tệp.

Trình tải tệp lên xử lý tốt các loại tệp và tải lên nhiều tệp.

nút tải xuống gọi lại loại nút và chức năng, đồng thời vô hiệu ứng dụng chạy lại.

Cuối cùng, bài viết về "Chơi với Streamlit" - tải lên và tải xuống các tập tin end ở đây. "Chơi với Streamlit" - tải lên và tải xuống các tập tin, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên kết quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai .

57 4 0
Bài viết khuyến nghị: Format thuật toán cho GLSLShader ( LALR cú pháp phân tích)
Bài viết khuyến nghị: Asp.netCore
Bài viết khuyến nghị: 3 vector tìm kiếm
Bài viết khuyến nghị: Cùng tìm hiểu về Thread Dynamic Insert trong Thread Pool C# (Phần 2)
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress