【发布时间】:2021-09-02 23:53:27
【问题描述】:
我有一个表单,它通过 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), na=False, case=False, regex=True)", engine='python')])
else:
searchterms = ["Foo"]
感谢您的帮助
【问题讨论】:
-
这意味着没有找到值“searchinput”,而是默认为None。
-
你知道我可以修复它的方法吗?进行非无检查不会改变任何事情。
标签: python pandas list nonetype