解决python3插入mysql时内容带有引号的问题


Posted in Python onMarch 02, 2020

插入mysql时,如果内容中有引号等特殊符号,会报错,

解决方法可以用反斜杠转义,还可以用pymysql的一个方法自动转义:

c = '''

北京时间9月20日晚间9点半,智能供应链服务供应商百世集团将在<a class="wt_article_link" onmouseover="WeiboCard.show(2125973432,'tech',this)" href="?zw=tech" rel="external nofollow" target="_blank">纽约证券交易所</a>正式挂牌上市,交易代码为“BSTI”。这是继<span id="usstock_ZTO"><a href="http://stock.finance.sina.com.cn/usstock/quotes/ZTO.html" rel="external nofollow" class="keyword f_st" target="_blank">中通</a></span><span id=quote_ZTO></span>快递之后第二家赴美上市的快递物流企业。 </p>
<p>

此次IPO百世集团一共发行4500万股美国存托股份(ADS),每股价格为10美元,总融资额高达4.5亿美元,为今年目前为止在美国上市的中国公司中募资规模最大的IPO。此外,百世和售股股东还允许其承销商通过超额配售权购买额外不多于675万股ADS。</p>
<p>

有中通这个“珠玉”在前,美股市场似'''

pymysql.escape_string(c)

sql = "INSERT INTO tbl_stream_copy(weburl,title,content,channelId,datetime,pubtime,website)VALUES ('%s','%s',\'%s\','%s','%s','%s','%s')" % (a,b,pymysql.escape_string(c),e,datetime,datetime,a)

补充拓展:Python中执行MySQL语句, 遇到同时有单引号, 双引号处理方式 !r, repr()

SQL语句:

insert_cmd = "INSERT INTO {0} SET {1}"
.format(db_conn.firmware_info_table, 
  ','.join(['{0}={1!r}'.format(k, str(v)) for (k, v) in info_dict.items()]))

其中{0}={1!r} 作用是设置字段的值,一般情况应该是:

{0}='{1}'.format(columnA, value)

但若value中同时有双引号和单引号("", ''),比如{'abc': '123', "def": "456"},

则会在execute(insert_cmd)时报错。

如果想保持数据原始性,不使用replace替换成统一的单引号或者双引号,

则可以使用!r来调用repr() 函数, 将对象转化为供解释器读取的形式。

repr() 返回一个对象的 string 格式。

!r 表示使用repr()替代默认的str()来返回。

注:repr是str的方法,所以value需要是string,若数据是dict等类型,需要使用str()转换成string

According to the Python 2.7.12 documentation:
!s (apply str()) and !r (apply repr()) can be used to convert the value before it is formatted.

贴出str类中的repr说明:

repr(object)
Return a string containing a printable representation of an object.
This is the same value yielded by conversions(reverse quotes).
It is sometimes useful to be able to access this operation as an ordinary function.
For many types, this function makes an attempt to return a string that would yield
an object with the same value when passed to eval(),
otherwise the representation is a string enclosed in angle brackets
that contains the name of the type of the object together with additional information
often including the name and address of the object. A class can control what this function
returns for its instances by defining a __repr__() method.

以上这篇解决python3插入mysql时内容带有引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写生成验证码的脚本的教程
May 04 Python
python从入门到精通(DAY 2)
Dec 20 Python
浅谈Python 对象内存占用
Jul 15 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
python抓取京东小米8手机配置信息
Nov 13 Python
python selenium 弹出框处理的实现
Feb 26 Python
python多任务之协程的使用详解
Aug 26 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
Python如何实现的二分查找算法
May 27 Python
通过实例解析python创建进程常用方法
Jun 19 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
python中Pexpect的工作流程实例讲解
Mar 02 Python
python统计字符串中字母出现次数代码实例
Mar 02 #Python
python绘制玫瑰的实现代码
Mar 02 #Python
pymysql 插入数据 转义处理方式
Mar 02 #Python
python实现字符串和数字拼接
Mar 02 #Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 #Python
基于Python爬取爱奇艺资源过程解析
Mar 02 #Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 #Python
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
laravel入门知识点整理
2020/09/15 PHP
用正则表达式替换图片地址img标签
2013/11/22 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
python实现简单名片管理系统
2018/11/30 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
关于numpy数组轴的使用详解
2019/12/05 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
房地产财务管理制度
2014/02/02 职场文书
《锄禾》教学反思
2014/04/08 职场文书
工地标语大全
2014/06/18 职场文书
幼儿生日活动方案
2014/08/27 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
施工员岗位职责范本
2015/04/11 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis