解决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 相关文章推荐
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
浅析Git版本控制器使用
Dec 10 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
Python中time标准库的使用教程
Apr 13 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
json字符串传到前台input的方法
2018/08/06 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
python传递参数方式小结
2015/04/17 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
婚礼新人答谢词
2015/01/04 职场文书
体育教师个人工作总结
2015/02/09 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2016公司年会通知范文
2015/04/25 职场文书
环保建议书作文500字
2015/09/14 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
Java8中Stream的一些神操作
2021/11/02 Java/Android