python - 替换字符串的一部分 ' for\' 不起作用

标签 python mysql

我正在从 API 中提取数据并将其插入 MySQL 表中。我发现有些行的列带有单引号(')值,并且给Mysql的插入代码带来了问题。我想用转义值 (\') 替换它们,但由于某种原因我的替换代码不起作用

import requests
import math
import pymysql
import string
from datetime import date, timedelta

#replace invalid characters with scapes values

print (type(calls[b][17]))
print (type(calls[b][18]))



print (calls[b][17])
print (calls[b][18])


if calls[b][17] is not None:
    calls[b][17] = calls[b][17].replace("'","\'")

if calls[b][18] is not None:
    calls[b][18] = calls[b][18].replace("'","\'")

print (calls[b][17])
print (calls[b][18])

结果是

class types

原始值

“塞西尔·丹尼尔·阿普里尼”<+33179976110>

塞西尔

丹尼尔·阿普里尼

塞西尔·丹尼尔·阿普里尼

替换值

“塞西尔·丹尼尔·阿普里尼”<+33179976110>

塞西尔

丹尼尔·阿普里尼

塞西尔·丹尼尔·阿普里尼

最终声明

插入thinky_phone_data values('e912be49-bfd3-4454-8679-c53503Eecfd2','+33179976110','+331707099949' :27:33.0','2016-01-19 09:31:19.0','234','226','已回答','0','0','"Cecile Denier d'Apriny"<+33179976110 >','3 Mundi','3 Mundi','team3','cdenier@3mundi.com','Cecile','Denier d'Aprigny','Cecile Denier d'Aprigny','巴黎办事处','无','无','无','无','无','无','无','无')

我希望我的替换值是

“塞西尔·丹尼尔·阿普里尼”<+33179976110>

塞西尔

丹尼尔·阿普里尼

塞西尔·丹尼尔·阿普里尼

最佳答案

看来我只需要解释一下这个问题就可以理清思路。只需添加所有正确的转义值

解决办法是

            if calls[b][11] is not None:
                calls[b][11] = calls[b][11].replace('\'','\\\'')

关于python - 替换字符串的一部分 ' for\' 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37183356/

相关文章:

php - 奇怪的 mysql,显示来自 myAdmin 的 0 个结果集,但在 PHP PDO 中返回行

python - 使用 python 中的字符串索引从文件名返回文件扩展名

python - 停止 Flask 复制加载的变量

mysql - 不丢失数据更新MySql表相关记录关系

mysql - 如何在字符串中添加空格以搜索菜单?

mysql - 如果查询不是特定值,则不显示整行

python - Python 3 中使用 Unicode 多字节字符的子字符串选择

python - 将元组插入 mysql 数据库

python - python套接字程序: Cannot assign requested address

.net - 运行MySql查询后出现缺少参数错误