91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決python3插入mysql時內容帶有引號的問題

發布時間:2020-10-07 08:28:44 來源:腳本之家 閱讀:299 作者:ezreal is easy 欄目:開發技術

插入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 rel="external nofollow" class="keyword f_st" target="_blank">中通</a></span><span id=quote_ZTO></span>快遞之后第二家赴美上市的快遞物流企業。&nbsp;</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時內容帶有引號的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万载县| 云霄县| 万山特区| 光山县| 高淳县| 左贡县| 册亨县| 新津县| 县级市| 庆元县| 资源县| 金川县| 宜良县| 徐闻县| 嘉祥县| 江都市| 吴桥县| 新和县| 河池市| 上犹县| 嘉祥县| 徐水县| 昭觉县| 忻州市| 鄂州市| 玉树县| 上饶市| 雅江县| 临高县| 托克托县| 波密县| 滁州市| 简阳市| 太保市| 德惠市| 扎赉特旗| 惠安县| 东光县| 香港| 榆中县| 汉源县|