在 streamlit 上传不同扩展文件的问题

Problem with different extension files upload at streamlit

我试图让用户select他想上传什么文件,但我遇到了问题。

例如,用户可以上传两种类型的扩展文件(csvxlsx)。在他上传文件后 streamlit 需要打开文件并显示为数据框。但是在我做的代码中,我创建了两个 if's 来读取扩展名为 xlsx 和 csv 扩展的文件,但没有按预期工作...

上传文件按钮:

这是我的代码:

import streamlit as st

if option =='Cg':
    st.header("Cálculo do índice de Capabilidade Cg")
    st.text("Irei adicionar algum texto aqui posteriormente para explicar o índice de capabilidade Cdl* e qual equação utilizamoos")
    st.subheader("Faça o Upload do seu Arquivo de Dados abaixo:")
    upload_file = st.file_uploader("Upload Data",type=["csv","xlsx"])

    if upload_file is not None:
        df = pd.read_excel(upload_file)
        st.dataframe(df)
    else:
        df = pd.read_csv(upload_file)
        st.dataframe(df)

您的 if-else 语句需要修改为:

if upload_file is not None:
    if upload_file.name[0][-4:] == 'xlsx':
        df = pd.read_excel(upload_file)
        st.dataframe(df)
    else:
        df = pd.read_csv(upload_file)
        st.dataframe(df)