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:]