当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。