用python 在scrapy.pipelines把数据存入SQlite数据库中时遇到问题,错误提示如下:
sqlite3.InterfaceError: Error binding parameter 4 - probably unsupported type.
在要插入数据库的数据中,有一个数据是:
contractLimit = re.findall(r'contractLimit":"(.*?)",', goodData)
# contractLimit的类型是list,不能插入数据库中varchar类型的位置。
报错原因:表格数据类型主要varchar,但是插入的数据中含有列表格式。
解决方法:检查(打印出来看看)要插入数据库的数据,把列表格式的数据转为str格式。
把代码改为一下即可:
contractLimit = re.findall(r'contractLimit":"(.*?)",', goodData)[0]
#此时contractLimit的类型是str