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(', ')