在 Python 中將 JSON 轉為 CSV

Manav Narula 2023年1月30日
  1. 在 Python 中使用 Pandas DataFrames to_csv() 方法把 JSON 轉換為 CSV
  2. 使用 csv 模組將 JSON 轉換為 CSV 檔案
在 Python 中將 JSON 轉為 CSV

JSON 是 JavaScript Object Notation 的縮寫,它基於 JavaScript 中物件的格式,是一種表示結構化資料的編碼技術。它基於 JavaScript 中的物件格式,是一種表示結構化資料的編碼技術。它現在被廣泛使用,特別是用於伺服器和網路應用之間的資料共享。

CSV 檔案用於儲存 Excel 電子表格等表格格式的資料。

在本教程中,我們將學習如何將 JSON 資料轉換為 CSV 檔案。

在 Python 中使用 Pandas DataFrames to_csv() 方法把 JSON 轉換為 CSV

在這個方法中,我們將首先把 JSON 轉換為 Pandas DataFrame,然後使用 to_csv() 方法把它轉換為 CSV 檔案。我們可以使用 Python 中的 json 庫提供的 json.loads() 函式來讀取 JSON 字串,將 JSON 轉換為 DataFrame。然後我們將這個 JSON 物件傳遞給 json_normalize() 函式,它將返回一個包含所需資料的 Pandas DataFrame。

下面的程式碼片段將解釋我們是如何做的。

import pandas as pd
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)

df = pd.json_normalize(info["Results"])

df.to_csv("samplecsv.csv")

建立的 CSV 檔案的內容如下。

,id,Name
0,1,Jay
1,2,Mark
2,3,Jack

使用 csv 模組將 JSON 轉換為 CSV 檔案

在這個方法中,我們將使用 Python 中的 csv 庫,它是用來讀寫 CSV 檔案的。首先,我們將像上一個方法一樣讀取 JSON 資料。我們以寫模式開啟一個檔案,並使用 csv 模組中的 DictWriter() 來建立一個物件,使我們能夠將 JSON 資料對映並寫入檔案。fieldnames 是鍵,當我們使用 writerows() 函式寫行時,這些鍵被識別並與資料匹配。

下面的程式碼片段將展示我們如何實現上述方法。

import csv
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)["Results"]

print(info[0].keys())

with open("samplecsv.csv", "w") as f:
    wr = csv.DictWriter(f, fieldnames=info[0].keys())
    wr.writeheader()
    wr.writerows(info)
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python JSON

相關文章 - Python CSV