解决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开发实现简单的记事本
Nov 15 Python
开源Web应用框架Django图文教程
Mar 09 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
python使用参数对嵌套字典进行取值的方法
Apr 26 Python
Flask中endpoint的理解(小结)
Dec 11 Python
python路径的写法及目录的获取方式
Dec 26 Python
python清空命令行方式
Jan 13 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
python查看矩阵的行列号以及维数方式
May 22 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
Python time库的时间时钟处理
May 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
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
js获取图片长和宽度的代码
2009/11/24 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
python圣诞树编写实例详解
2020/02/13 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
Python pip使用超时问题解决方案
2020/08/03 Python
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
医学生自荐信范文
2015/03/05 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android