python SQLite3 插入数据问题

 2016-10-31 22:30:16

 

今天想用beautifulsoup写一个小爬虫爬爬Twitter上的推文,结果在sqlite数据库insert的时候出了一点小问题,一开始我用的是传统的python string substitution如下:

sql = '''insert into Tweets (num, content) values ("%s","%s")''' %(i,content)
c.execute(sql)
coon.commit()

  由于推文上的字符是非常多的符号。。。结果没有经过转义,也不知道sqlite内部的转义为什么没起作用,应该是由于还有空行的关系,所以果断采用sqlite内部的参数传递方法如下:

sql = '''insert into Tweets (num, content) values (?,?)''' ,(i,content)
c.execute(sql)
coon.commit()

  会出现ValueError: operation parameter must be str这个错误,查了一些stackoverflow的解答,最后得到正确形式:

sql = '''insert into Tweets (num, content) values (?,?)'''
para = (i,content)
c.execute(sql,para)
coon.commit()

  

转自:https://blog.csdn.net/u013264172/article/details/52987954

posted @ 2020-07-05 21:03  月月coding  阅读(620)  评论(0)    收藏  举报