JSON 的完整形式是 JavaScript Object Notation。這意味著由編程語言中的文本組成的腳本(可執行)文件用於存儲和傳輸數據。 Python 通過稱為 JSON 的 內置 包支持 JSON。要使用此函數,我們在 Python 腳本中導入 JSON 包。 JSON中的文本是通過quoted-string完成的,該字符串包含{}內鍵值映射中的值。它類似於 Python 中的字典。
CSV(逗號分隔值)是一種簡單的文件格式,用於存儲表格數據,例如電子表格或數據庫。 CSV 文件以純文本形式存儲表格數據(數字和文本)。文件的每一行都是一個數據記錄。每條記錄由一個或多個字段組成,以逗號分隔。使用逗號作為字段分隔符是此文件格式名稱的來源。
Refer to the below articles to understand the basics of JSON and CSV.
將 JSON 轉換為 CSV
對於由鍵和值對組成的簡單 JSON 數據,鍵將是 CSV 文件的標頭,值是描述性數據。
例:假設 JSON 文件如下所示:
我們想將上麵的 JSON 轉換為 CSV 文件,並以鍵為標題。
Python3
# Python program to convert
# JSON file to CSV
import json
import csv
# Opening JSON file and loading the data
# into the variable data
with open('data.json') as json_file:
data = json.load(json_file)
employee_data = data['emp_details']
# now we will open a file for writing
data_file = open('data_file.csv', 'w')
# create the csv writer object
csv_writer = csv.writer(data_file)
# Counter variable used for writing
# headers to the CSV file
count = 0
for emp in employee_data:
if count == 0:
# Writing headers of CSV file
header = emp.keys()
csv_writer.writerow(header)
count += 1
# Writing data of CSV file
csv_writer.writerow(emp.values())
data_file.close()
輸出:
而且,如果您正在處理如下 JSON 數據:
[
{‘Age’:18.0, ‘Salary’:20000.0, ‘Gender’:‘Male’, ‘Country’:‘Germany’, ‘Purchased’:‘N’}
{‘Age’:19.0, ‘Salary’:22000.0, ‘Gender’:‘Female’, ‘Country’:‘France’, ‘Purchased’:‘N’}
{‘Age’:20.0, ‘Salary’:24000.0, ‘Gender’:‘Female’, ‘Country’:‘England’, ‘Purchased’:‘N’}
]
下麵的代碼將非常適合您(請在運行前格式化代碼)
Python3
import json
import csv
with open('G:\Akhil\jsonoutput.json') as json_file:
jsondata = json.load(json_file)
data_file = open('G:\Akhil\jsonoutput.csv', 'w', newline='')
csv_writer = csv.writer(data_file)
count = 0
for data in jsondata:
if count == 0:
header = data.keys()
csv_writer.writerow(header)
count += 1
csv_writer.writerow(data.values())
data_file.close()
相關用法
- Python CSV轉JSON用法及代碼示例
- Python CSV轉HTML Table用法及代碼示例
- Python XML轉CSV用法及代碼示例
- Python PDF轉CSV用法及代碼示例
- Python CSV File轉PDF File用法及代碼示例
- Python Excel轉CSV用法及代碼示例
注:本文由純淨天空篩選整理自ksinghshubh大神的英文原創作品 Convert JSON to CSV in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。