[英]Store tweets with quotes in a SQLite3 database
我正在使用json从网络加载推文。
import urllib2, json, sqlite3
wFD = urllib2.urlopen('http://rasinsrv07.cstcis.cti.depaul.edu/CSC455/Twitter_2013_11_12.txt')
blankLines = 0
goodLines = 0
numLines = 10000
while numLines > 0:
line = wFD.readline()
numLines = numLines - 1
try:
tweets.append(json.loads(line))
goodLines = goodLines+1
except:
blankLines = blankLines + 1
blankLines
goodLines
我必须检查整个推文的长度,然后使用SQLite3将其作为一个大条目存储在数据库的表中。
SingleTable = """Create table SingleTable
(tweet varchar(8038)
);"""
c.execute("drop table if exists SingleTable")
c.execute(SingleTable)
len_strTwt = 0
for tweet in tweets:
str_tweet = str(tweet)
c.execute("insert into SingleTable values (?)", (str_tweet))
if len_strTwt < len(str_tweet):
len_strTwt = len(str_tweet)
len_strTwt
当我尝试存储它时,由于有太多的双引号和单引号,所以无法执行它。 我不知道如何在这里使用exape符号将其存储在数据库中。 任何帮助将不胜感激。 谢谢。
您需要附加一个逗号来告诉Python您想要一个元组:
c.execute("insert into SingleTable values (?)", (str_tweet,))
如果没有逗号,则会得到一个纯字符串,该字符串将由execute
解释为一系列字符,即每个字符将是一个参数值。
请注意,默认情况下,SQLite不会检查列的长度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.