Python将数据库写入csv

Python将数据库写入csv,python,mysql,json,csv,Python,Mysql,Json,Csv,我正在从MySQL数据库获取数据并写入CSV文件。 这看起来像这样: with open("output.csv", "ab+") as csv_file: csv_writer = csv.writer(csv_file) csv_writer.writerows(db_cursor) 这适用于普通列。但是,我有一个类型为LONGTEXT的列,其中包含JSON数据 csv_writer在创建csv文件时,会在JSON中的每个键值周围添加额外的引号 i、 例如,

我正在从MySQL数据库获取数据并写入CSV文件。 这看起来像这样:

with open("output.csv", "ab+") as csv_file:
        csv_writer = csv.writer(csv_file)
        csv_writer.writerows(db_cursor)
这适用于普通列。但是,我有一个类型为
LONGTEXT
的列,其中包含JSON数据

csv_writer在创建csv文件时,会在JSON中的每个键值周围添加额外的引号

i、 例如,如果我的列具有此值:
{“键”:“值”}

output.csv文件具有:
“{”“键”“:”“值”“}”

我想要的是:
“{\”键\“:\”值\“}”

我如何做到这一点


(我必须在ruby应用程序中再次读取此文件并重新创建json。有了这些额外的引号,我不知道该如何处理!)

要指定输出的格式,您需要在创建编写器时传递正确的,或者创建您自己的方言并使用它

在您的情况下,您可能需要以下内容:

csv_writer = csv.writer(csv_file,
                        doublequote=False,
                        escapechar='\\',
                        quoting=csv.QUOTE_NONNUMERIC)

这在覆盖提供的参数时使用默认(
excel
)方言。

要指定输出的格式,您需要在创建编写器时传递正确的方言,或者创建自己的方言并使用它

在您的情况下,您可能需要以下内容:

csv_writer = csv.writer(csv_file,
                        doublequote=False,
                        escapechar='\\',
                        quoting=csv.QUOTE_NONNUMERIC)
这将使用默认(
excel
)方言,同时覆盖提供的参数