簡體   English   中英

Python將數據庫寫入csv

[英]Python write database to 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中的每個鍵值周圍添加額外的引號。

即,如果我的列具有以下值: {"key":"value"}

output.csv文件具有: "{""key"" : ""value""}"

我想要的是: "{\\"key\\" : \\"value\\"}"

我該如何實現?

(我必須在ruby應用程序中再次讀取此文件,然后重新創建json。使用此多余的引號,我不確定該如何處理!)

要指定輸出的格式,您需要在創建書寫器時傳遞正確的格式參數 ,或者創建自己的方言並使用它。

在您的情況下,您可能想要這樣的東西:

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

在覆蓋提供的參數時,它將使用默認的( excel )方言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM