解决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 相关文章推荐
在MAC上搭建python数据分析开发环境
Jan 26 Python
python 文件操作删除某行的实例
Sep 04 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
浅析python参数的知识点
Dec 10 Python
python2.7实现邮件发送功能
Dec 12 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
pycharm快捷键汇总
Feb 14 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 Python
python小型的音频操作库mp3Play
Apr 24 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 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
php里array_work用法实例分析
2015/07/13 PHP
关于PHP开发的9条建议
2015/07/27 PHP
Laravel实现表单提交
2017/05/07 PHP
如何实现JS函数的重载
2006/09/22 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
资料员的岗位职责
2013/11/20 职场文书
函授本科自我鉴定
2014/02/04 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
平面设计求职信
2014/03/10 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
设备管理实施方案
2014/05/31 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2015教师节通讯稿
2015/07/20 职场文书
2016新年致辞
2015/08/01 职场文书
学生会任命书范本
2015/09/21 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript