2 yagamil yagamil 于 2017.09.03 15:56 提问

python+mysql:在插入语句中使用变量,变量中含有多个引号,和双引号,该如何使用sql语句 5C

数据是一个字典类型:
my_dict={"2017-07" : [ {"origin" : "LJ","price" : 44267,"crawl_date" : "2017-09-01"}]}

item={'name':'万科','city_name':'深圳','location':'龙岗','price':str(my_dict)}

把字典转化为str后,变成了item。

插入语句:
sql2='''insert into house ( name,city_name,location,price) values ('%s','%s','%s','%s')''' %(item['name'], item['city_name'], item['location'], item['price'].encode('utf-8'))

因为price中含有很多引号,{"2017-07" : [ {"origin" : "LJ","price" : 44267,"crawl_date" : "2017-09-01"}]}

所以运行的时候回提示说sql错误,要怎样才能把这些字符显示为字符而非转义字符 ?

2个回答

caozhy
caozhy   Ds   Rxr 2017.09.03 16:31
yagamil
yagamil 这个我知道,难道要我把字典转为str后,又重新修改这个str ?
4 天之前 回复
qq_32774515
qq_32774515   2017.09.04 15:37

conn = db.connect(r'D:/E/Eas.db')
print ('Opend database successfully \n')
#conn.row_factory = db.Row
cursor = conn.cursor()
results = cursor.execute("select * from Meter")
rows = cursor.fetchall()
for row in rows:
print(row)#"%s %s %s" % (row["id"], row["No"], row["Name"])
print('\n')
print ('close database successfully')
conn.close()

这是我的查询代码你可以参考下

Csdn user default icon
上传中...
上传图片
插入图片