I’m trying to let the user select what files he wants to upload, but I’m facing a problem.
For example, there are two types of extension files the user can upload (csv and xlsx). After he upload his file streamlit needs to open the file and shows as a dataframe. But in code I did, I create two if’s to read the files with xlsx extension and csv extension, but didn’t worked as expected…
Upload file Button:
Here is my code:
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)
Advertisement
Answer
Your if-else statement needs to be modified to:
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)
