當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python CSV轉JSON用法及代碼示例


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)


輸出:




相關用法


注:本文由純淨天空篩選整理自khushali_verma大神的英文原創作品 Convert CSV to JSON using Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。