Простые способы создания кнопки загрузки файла в Streamlit: подробное руководство

Вы хотите создать кнопку загрузки файла в Streamlit? Вы пришли в нужное место! В этой статье блога мы рассмотрим несколько способов реализации кнопки загрузки файла с помощью Streamlit, популярной библиотеки Python для создания интерактивных веб-приложений. Итак, давайте углубимся и откроем для себя несколько простых и эффективных подходов!

Метод 1: использование функции file_uploader

Streamlit предоставляет встроенную функцию под названием file_uploader, которая упрощает загрузку файлов. Это позволяет пользователям легко выбирать и загружать файлы. Вот пример фрагмента кода:

import streamlit as st
uploaded_file = st.file_uploader("Choose a file")
if uploaded_file is not None:
    # Process the uploaded file
    st.write("File uploaded successfully!")

Метод 2: использование функции beta_file_uploader

Функция beta_file_uploaderStreamlit предлагает дополнительные функции, такие как принятие нескольких файлов и установка ограничений по типам файлов. Вот пример, демонстрирующий его использование:

import streamlit as st
uploaded_files = st.beta_file_uploader("Choose files", type=["csv", "txt"], accept_multiple_files=True)
if uploaded_files is not None:
    for file in uploaded_files:
        # Process each uploaded file
        st.write(f"File '{file.name}' uploaded successfully!")

Метод 3: пользовательская кнопка с st.buttonи st.file_uploader

Если вы предпочитаете более персонализированную кнопку загрузки файлов, вы можете объединить функции st.buttonи st.file_uploader. Такой подход позволяет вам стилизовать кнопку в соответствии с дизайном вашего приложения. Вот пример:

import streamlit as st
if st.button("Browse"):
    uploaded_file = st.file_uploader("Choose a file")

    if uploaded_file is not None:
        # Process the uploaded file
        st.write("File uploaded successfully!")

Метод 4. Оформление кнопки с помощью CSS

Если вы хотите продолжить настройку, вы можете применить стили CSS к кнопке загрузки файла с помощью функции Streamlit st.markdown. Вот пример:

import streamlit as st
st.markdown(
    """
    <style>
    .file-upload-btn {
        background-color: #4CAF50;
        color: white;
        padding: 10px 20px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
    }
    </style>
    """,
    unsafe_allow_html=True
)
if st.button("Browse", className="file-upload-btn"):
    uploaded_file = st.file_uploader("Choose a file")
    if uploaded_file is not None:
        # Process the uploaded file
        st.write("File uploaded successfully!")

Заключение

В этой статье мы рассмотрели различные способы создания кнопки загрузки файла в Streamlit. Мы начали со встроенных функций file_uploaderи beta_file_uploader, которые предоставляют простые возможности загрузки файлов. Затем мы рассмотрели настройку кнопки с помощью st.buttonи st.file_uploader, а также добавление стилей CSS для более расширенной настройки.

Теперь, вооружившись этими методами, вы можете улучшить свои приложения Streamlit, включив в них функцию загрузки файлов. Наслаждайтесь созданием интерактивных веб-приложений с помощью Streamlit!