python字符串转义问题

最近做爬虫数据抓取的时候遇到一个,抓取回来的内容含有python的转义字符,导致在写入mysql的时候一直报错,尝试通过Unicode编码,发现Unicode编码后也含有\转义字符,导致拼接sql的语句在执行mysql写入时候依然报错,请教大神尝试 “”,”“”“”“,字符串前面加r,限制转义,当执行插入(查询)数据时遇到一些特殊字符会使得程序中断。操作失败。问题还是无法解决。

解决办法

插入(查询)之前用 connection.escape(str)处理一下即可

import pymongo

sql_pattern = "select * from my_collection where name = %s" #注意,这里直接用%s,不要给%s加引号,因为后面转移过后会自动加引号

name = "xxx\xxx"

name = connection.escape(name)

sql = sql_pattern%name

print(sql) # select * from my_collection where name = 'xxx\\xxx'

with connection.cursor() as cursor:

    try:

        cursor.execute(sql)

    except:

        print(sql)

        pass

    for r in cursor:

        print(r)

问题完美解决。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,218评论 0 13
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 9,712评论 4 16
  • 草稿箱里存了好多文章,总觉得少点什么,一直未发。 现在又在和我家大宝视频,仿佛我俩真成了学霸情侣。他在镜头的那端忙...
    祁先生的赵小姐阅读 3,418评论 1 2
  • 晚上,媽媽熬了鯽魚湯,把鯽魚裝盤子裡,讓我先吃鯽魚。 看到盤子裡的鯽魚,我用筷子先從魚頭開始,在慢慢的...
    露丹儿阅读 1,769评论 0 1
  • 中国有句古话,叫做“尽人事、知天命”,还有一句话叫做“谋事在人,成事在天”,讲的都是一个意思,就是凡是尽最大努力,...
    曾经是小黑阅读 4,104评论 0 1

友情链接更多精彩内容