Python 和 Pandas 空列表的 NoneType 错误
Python and Pandas NoneType error for empty list
我有一个表单,它通过 html(搜索输入)获取输入列表并将其添加到 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' object has no attribute '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"]
感谢您的帮助
尝试将默认值 (''
) 放入 .get
:
# put `''` in .get():
searchterms = request.values.get('searchinput', '').strip().split(', ')
我有一个表单,它通过 html(搜索输入)获取输入列表并将其添加到 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' object has no attribute '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"]
感谢您的帮助
尝试将默认值 (''
) 放入 .get
:
# put `''` in .get():
searchterms = request.values.get('searchinput', '').strip().split(', ')