[英]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.