最近做爬虫时,把所爬数据存进数据库时遇到了点问题:
sql="insert into allnetdata(personame, project,times)values(urlist[i][0],urlist[i][3],urlist[i][2])"
没有报错但就是存不到allnetdata表中,首先排除了是与数据库的连接问题,思考了一下,认为是二维列表urlist[i][0] 取出来的数据不是字符串格式,与allnetdata表的列属性冲突导致无法写入,于是改用str(urlist[i][0])来强制转换其格式,运行程序还是不行。用print.type(urlist[i][0])输出其格式,为string,说明与格式无关,此路不通。
在查询各种文档无果后,想到可能是values()对写入值为变量可能有格式要求,百度之后得到答案:values后面的值为变量时,应为:
values(' "+urlist[i][0]+" ',' "+urlist[i][3]+" ',' "+urlist[i][2]+" '),
问题解决.
网友评论