下午想把网页爬取的数据存进数据库,捣鼓了半天一直报错。
错误信息是:1054, "Unknown column 'CNITSEC2014SRV' in 'field list'"
Python代码是:
sql = "insert into citsec(`num`, `beginDate`, `endDate`, `org`, `grade`) values (%s,%s,%s,%s,%s)" data = (tNumDet, tDateDet, tEndDateDet, tOrgDet, tLavelDet) cur.execute(sql % data)找了很久错,测试了各个变量也都是str类型,不懂为什么就是一直插入不了数据,最后发现sql语句的语法似乎规定就是必须有引号将值包起来,于是更改了代码:
data = ("'"+tNumDet+"'", "'"+tDateDet+"'", "'"+tEndDateDet+"'", "'"+tOrgDet+"'", "'"+tLavelDet+"'")
这样在执行程序就可以了。
之后百度python怎么解析引号内的变量时,发现了有个repr()函数,可以将转换的字符串带有引号,因此重新修改语句:
data = (repr(tNumDet), repr(tDateDet), repr(tEndDateDet), repr(tOrgDet), repr(tLavelDet))也是可行的。