python - Streamlit 中的下拉菜单,不带括号和引号
问题描述
我正在使用 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:]
推荐阅读
- ios - 初始化中的子视图自动布局约束
- html - 是否有一个什么都不做的 HTML 标签,所以我可以将它用作标志?
- intellij-idea - 无法在 Intellij 中删除 UML 图
- python - 将 groupby 对象与另一个数据框合并
- android - react native android firebase sign in with apple [错误:提供的身份验证凭据格式错误,已过期或当前不受支持。]
- qt - 以编程方式设置时,Tristate QCheckBox 不会重新绘制自身的问题
- python - 为什么这段代码会进入无限的while循环?
- javascript - 在 Next.JS 应用程序中,Apollo 查询是从浏览器还是服务器运行?
- c++ - 通过成员初始化列表初始化类的引用变量时出现问题
- java - PDF Box 和 java 版本的兼容性