解决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装饰器计算函数运行时间的实例
Apr 21 Python
python3将视频流保存为本地视频文件
Jun 20 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
将Pytorch模型从CPU转换成GPU的实现方法
Aug 19 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
pycharm 设置项目的根目录教程
Feb 12 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
使用pytorch实现线性回归
Apr 11 Python
python中的getter与setter你了解吗
Mar 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
配置PHP使之能同时支持GIF和JPEG
2006/10/09 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
javascript求日期差的方法
2016/03/02 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
Python ZipFile模块详解
2013/11/01 Python
深入理解Python中的元类(metaclass)
2015/02/14 Python
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
python实现感知器
2017/12/19 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
python Pexpect模块的使用
2020/12/25 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
为什么需要版本控制?
2013/08/08 面试题
个人求职简历的自我评价
2013/10/19 职场文书
质量承诺书范文
2014/03/27 职场文书
募捐感谢信
2015/01/22 职场文书
花田少年史观后感
2015/06/16 职场文书
培训心得体会怎么写
2016/01/25 职场文书
windows安装python超详细图文教程
2021/05/21 Python
canvas实现贪食蛇的实践
2022/02/15 Javascript