Python的MySQLdb将双引号更改为单引号

时间:2018-12-17 07:22:36

标签: python mysql escaping quotes executemany

我正在使用python从REST API中读取值并写入MySQL表。返回的值之一是JSON,我想将其存储在数据库中。

API返回的值已转义引号,如下所示:

{\"dashboard\":\"val\"}

使用打印时,我看到转义字符被实际的引号替换了(这是期望的结果):

{"dashboard":"val"}

但是,当我使用MySQLdb execute或executemany(带有标记化参数)时-写入数据库的值将所有双引号替换为单引号,使其成为无效的json:

{'dashboard':'val'}

如何避免这种情况?

1 个答案:

答案 0 :(得分:0)

您应该将库更改为mysql.connectorpymysql等,因为MySQLdb存在一些您无法预测的问题。即使您的参数和base_sql是正确的。我推荐mysql.connector,因为它是MySQL的官方库。 https://dev.mysql.com/downloads/connector/python/