I am using streamlit for displaying a dropdown menu based on a csv list (symbols.csv).
This is how the csv list looks:
This is the code I am writing:
def choosing_asset():
with open('symbols.csv', newline='') as f:
reader = csv.reader(f)
data = list(reader)
option = st.sidebar.selectbox('Select your asset',data)
name = option[0]
ticker = option[1]
return(name,ticker)
And this is how streamlit is displaying the dropdownmenu:
I would like to remove those brackets and quotes from the dropdownmenu, I would like to show only in the format “Bitcoin, BTC-USD” like in the csv file.
Thanks in advance
Advertisement
Answer
You have nested list like this
data = [ ['Bitcoin', 'BTC-USD'], ['Ethereum', 'ETH-USD'] ]
and you have to convert sublists to strings using ie. join
data = [','.join(row) for row in data]
Or you should read it as normal text file
with open('symbols.csv', newline='') as f:
data = list(f)
data = [line.strip() for line in data]
or
with open('symbols.csv', newline='') as f:
data = f.read().splitlines()
BTW:
And if you want to skip first row with Company_name,Company_ticker
data = data[1:]

