Streamlit 中的下拉菜单没有括号和引号
Dropdownmenu in Streamlit without brackets and quotes
我正在使用 streamlit 显示基于 csv 列表的下拉菜单 (symbols.csv)。
这是 csv 列表的样子:
这是我正在写的代码:
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)
这就是 streamlit 显示下拉菜单的方式:
我想从下拉菜单中删除那些括号和引号,我想仅以“比特币,BTC-USD”格式显示,就像在 csv 文件中一样。
提前致谢
你有这样的嵌套列表
data = [ ['Bitcoin', 'BTC-USD'], ['Ethereum', 'ETH-USD'] ]
并且您必须使用 ie 将子列表转换为字符串。 join
data = [','.join(row) for row in data]
或者您应该将其作为普通文本文件阅读
with open('symbols.csv', newline='') as f:
data = list(f)
data = [line.strip() for line in data]
或
with open('symbols.csv', newline='') as f:
data = f.read().splitlines()
顺便说一句:
如果你想用 Company_name,Company_ticker
跳过第一行
data = data[1:]
我正在使用 streamlit 显示基于 csv 列表的下拉菜单 (symbols.csv)。
这是 csv 列表的样子:
这是我正在写的代码:
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)
这就是 streamlit 显示下拉菜单的方式:
我想从下拉菜单中删除那些括号和引号,我想仅以“比特币,BTC-USD”格式显示,就像在 csv 文件中一样。
提前致谢
你有这样的嵌套列表
data = [ ['Bitcoin', 'BTC-USD'], ['Ethereum', 'ETH-USD'] ]
并且您必须使用 ie 将子列表转换为字符串。 join
data = [','.join(row) for row in data]
或者您应该将其作为普通文本文件阅读
with open('symbols.csv', newline='') as f:
data = list(f)
data = [line.strip() for line in data]
或
with open('symbols.csv', newline='') as f:
data = f.read().splitlines()
顺便说一句:
如果你想用 Company_name,Company_ticker
data = data[1:]