Python MySQLdb 将双引号改为单引号
Posted
技术标签:
【中文标题】Python MySQLdb 将双引号改为单引号【英文标题】:Python's MySQLdb changes double quotes to single quotes 【发布时间】:2019-05-17 13:04:34 【问题描述】:我正在使用 python 从 REST API 读取值并写入 mysql 表。返回值之一是 JSON,我想将其存储在数据库中。
API 返回的值已转义引号,类似于:
\"dashboard\":\"val\"
当我使用 print 时,我看到转义字符被替换为实际的引号(这是预期的结果):
"dashboard":"val"
但是,当我使用 MySQLdb 执行或 executemany(带有标记参数)时 - 写入数据库的值将所有双引号替换为单引号,使其成为无效的 json:
'dashboard':'val'
如何避免这种情况?
【问题讨论】:
你能提供一个minimal reproducible example吗? 【参考方案1】:您应该将您的库更改为mysql.connector
或pymysql
等,因为MySQLdb
有一些您无法预测的问题。即使您的参数和 base_sql 是正确的。我推荐mysql.connector
,因为它是MySQL官方库。 https://dev.mysql.com/downloads/connector/python/
【讨论】:
以上是关于Python MySQLdb 将双引号改为单引号的主要内容,如果未能解决你的问题,请参考以下文章