python SQLite3 插入数据问题

今天想用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()

你可能感兴趣的:(python,python,sqlite3,数据)