【问题标题】:Python's MySQLdb changes double quotes to single quotesPython MySQLdb 将双引号改为单引号
【发布时间】:2019-05-17 13:04:34
【问题描述】:

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

API 返回的值已转义引号,类似于:

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

当我使用 print 时,我看到转义字符被替换为实际的引号(这是预期的结果):

{"dashboard":"val"}

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

{'dashboard':'val'}

如何避免这种情况?

【问题讨论】:

标签: python mysql escaping quotes executemany


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 2018-11-18
    • 2017-12-29
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多