如何解决空列表的 Python 和 Pandas NoneType 错误
我有一个表单,它通过 html (searchinput) 获取输入列表并将其添加到 python 中的查询中。
searchterms = []
searchterms = request.values.get('searchinput').strip().split(',')
filtered = pd.concat([df.query("Drug.str.contains('|'.join(@searchterms),na=False,case=False,regex=True)",engine='python')])
return render_template('drugsafety.html',tables=[filtered.to_html(classes='data')],titles=['na','Drug List'])
这给了
AttributeError: 'NoneType' 对象没有属性 'strip'
如果我输入一个像 searchterms = ["foobar"] 这样的值,它就可以工作,甚至可以毫无错误地接受表单输入。
我怎样才能解决这个最初需要一个价值来启动它的生活?
编辑
searchterms = []
if searchterms is not None:
searchterms = request.values.get('searchinput').strip().split(',')
filtered = pd.concat([ df.query("Drug.str.contains('|'.join(@searchterms),engine='python')])
else:
searchterms = ["Foo"]
感谢您的帮助
解决方法
尝试将默认值 (''
) 放在 .get
中:
# put `''` in .get():
searchterms = request.values.get('searchinput','').strip().split(',')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。