CSV(或逗號分隔值)文件以表格格式表示數據,具有多行和多列。 CSV 文件的一個示例可以是 Excel 電子表格。這些文件的擴展名為 .csv,例如 geeksforgeeks.csv。在這個示例文件中,每一行將代表數據集的一條記錄,每一列將表示一個唯一的特征變量。
另一方麵,JSON(或 JavaScript 對象表示法)是一種 dictionary-like 表示法,可以通過在 Python 中導入 JSON 包來使用。每條記錄(或行)都保存為單獨的字典,列名作為字典的鍵。所有這些記錄作為字典都保存在嵌套字典中以組成整個數據集。它以擴展名 .json 存儲,例如 geeksforgeeks.json
Refer to the below articles to understand the basics of JSON and CSV.
將 CSV 轉換為 JSON
我們將創建一個包含多個字典的 JSON 文件,每個字典代表 CSV 文件中的一條記錄(行),其中指定的列是鍵。
使用的示例 CSV 文件:
Python3
import csv
import json
# Function to convert a CSV to JSON
# Takes the file paths as arguments
def make_json(csvFilePath, jsonFilePath):
# create a dictionary
data = {}
# Open a csv reader called DictReader
with open(csvFilePath, encoding='utf-8') as csvf:
csvReader = csv.DictReader(csvf)
# Convert each row into a dictionary
# and add it to data
for rows in csvReader:
# Assuming a column named 'No' to
# be the primary key
key = rows['No']
data[key] = rows
# Open a json writer, and use the json.dumps()
# function to dump data
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonf.write(json.dumps(data, indent=4))
# Driver Code
# Decide the two file paths according to your
# computer system
csvFilePath = r'Names.csv'
jsonFilePath = r'Names.json'
# Call the make_json function
make_json(csvFilePath, jsonFilePath)
輸出:
相關用法
- Python JSON轉CSV用法及代碼示例
- Python PDF轉CSV用法及代碼示例
- Python CSV File轉PDF File用法及代碼示例
- Python CSV轉HTML Table用法及代碼示例
- Python XML轉CSV用法及代碼示例
- Python Excel轉CSV用法及代碼示例
注:本文由純淨天空篩選整理自khushali_verma大神的英文原創作品 Convert CSV to JSON using Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。