解决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进行稳定可靠的文件操作详解
Dec 31 Python
使用Python编写vim插件的简单示例
Apr 17 Python
总结Python编程中三条常用的技巧
May 11 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
Python使用Pandas库常见操作详解
Jan 16 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
Jun 12 Python
python实现学生管理系统开发
Jul 24 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
python 实现图片裁剪小工具
Feb 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防止网站被刷新的方法汇总
2014/12/01 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
JS中递归函数
2016/06/17 Javascript
Node.js简单入门前传
2017/08/21 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
python实现周期方波信号频谱图
2018/07/21 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
python压包的概念及实例详解
2021/02/17 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
秘书专业自荐信范文
2013/12/26 职场文书
将相和教学反思
2014/02/04 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
公司董事长岗位职责
2014/06/08 职场文书
英文感谢信范文
2015/01/21 职场文书
推销搭讪开场白
2015/05/28 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫