繁体   English   中英

如何使用 `st.download_button` 将 Streamlit 中的各种数据下载到 HDF5 文件?

[英]How to download various data from Streamlit to HDF5 file with `st.download_button`?

如何从 Streamlit 应用程序在一个.h5文件中下载各种 numpy arrays?

h5py库让您在将任何数据集附加到它之前创建一个h5py.File 在 Streamlit 环境中,您无法创建文件,那么如何将某些内容保存为这种文件格式?

这可以通过io.BytesIO类型的临时“假”文件的中介来完成,Streamlit 可以使用st.download_button组件处理并保存到文件中。

假设您有 2 个 numpy arrays 要保存到您的 HDF5 文件中:

import io
import h5py
import numpy as np
import streamlit

def prepare_bytes():
    bio = io.BytesIO()

    with h5py.File(bio, 'w') as f:
        f['array_1'] = np.array([1, 2, 3, 4])
        f['array_2'] = np.array([[1, 2], [3, 4]])

    return bio

st.streamlit.download_button(
    'Download as HDF5', data=prepare_bytes(),
    file_name='data.h5', mime='application/x-hdf5'
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM