将CSV文件转换为JSON文件的Python教程

将CSV文件转换为JSON文件的Python教程

在本教程中,我们将了解如何使用Python编程语言将CSV格式文件转换为JSON格式文件。

在开始之前,让我们了解一下CSV和JSON文件的含义。

什么是CSV文件

CSV文件,缩写为逗号分隔值文件,是一种存储数据列表的纯文本文件。CSV文件通常用于不同应用程序之间的数据交换。例如,联系人管理器和数据库通常提供CSV文件支持。

这些CSV文件也被称为逗号分隔文件或字符分隔值文件。这些文件通常使用逗号字符来分隔数据,但有时也使用其他字符,例如分号。预期的目的是将复杂数据从一个程序导出到CSV格式文件,然后从CSV文件导入数据到另一个程序。

逗号分隔值(CSV)文件具有相当基本的结构,其中包含一些以逗号分隔的数据列表。CSV文件的设计方式可以轻松地导入和导出其他应用程序的数据。生成的数据容易被人类阅读,并且可以使用文本编辑器(如记事本)或电子表格应用程序(如Microsoft Excel或Google Sheets)查看。

什么是JSON文件

JSON文件,也缩写为JavaScript对象表示法文件,是一种允许用户以标准数据交换格式(称为JSON格式)存储基本对象和数据结构的文件。JSON文件通常用于在基于Web的应用程序和服务器之间传输数据。JSON文件是轻量级的基于文本的文件,人们可以轻松阅读,我们可以在文本编辑器(如记事本)的帮助下编辑这些文件。

JSON格式实质上是基于JavaScript子集的。然而,它被认为是一种与语言无关的格式,并受到多种编程API的支持。JSON通常在Ajax Web应用程序编程中使用。在过去几年中,与XML相比,JSON作为替代品逐渐增长了其流行度。

虽然有各种程序使用JSON进行数据交换,但它们可能不会将JSON格式文件保存在硬盘上。数据交换是在通过互联网连接的计算机之间进行的。然而,少数程序允许我们保存JSON格式文件。例如,Google+使用JSON文件保存配置文件数据。一旦我们登录,我们可以选择“数据解放”页面并选择“下载个人资料数据”选项。

由于JSON文件是纯文本文件,我们可以使用任何文本编辑器打开它们,例如Windows的Microsoft记事本,Mac的Apple文本编辑器,Linux的Vim以及GitHub Atom。我们还可以使用Web浏览器,如Google Chrome和Mozilla Firefox,来打开JSON格式文件。

现在让我们开始将CSV文件转换为JSON文件。

将CSV文件转换为JSON文件

我们将使用一个简单的Python程序将CSV文件转换为JSON文件,如下所示。

我们将使用以下CSV文件。

文件:mydatalist.csv

将CSV文件转换为JSON文件的Python教程

程序:

# importing the required libraries
import csv
import json

# defining the function to convert CSV file to JSON file
def convjson(csvFilename, jsonFilename):

    # creating a dictionary
    mydata = {}

    # reading the data from CSV file
    with open(csvFilename, encoding = 'utf-8') as csvfile:
        csvRead = csv.DictReader(csvfile)

        # Converting rows into dictionary and adding it to data
        for rows in csvRead:

            mykey = rows['S. No.']
            mydata[mykey] = rows

    # dumping the data
    with open(jsonFilename, 'w', encoding = 'utf-8') as jsonfile:
        jsonfile.write(json.dumps(mydata, indent = 4))

# filenames     
csvFilename = r'mydatalist.csv'
jsonFilename = r'mydatalist.json'

# Calling the convjson function
convjson(csvFilename, jsonFilename)

输出:

文件:mydatalist.json

{
    "1": {
        "S. No.": "1",
        "Name": "Dave",
        "Age": "17"
    },
    "2": {
        "S. No.": "2",
        "Name": "Albus",
        "Age": "16"
    },
    "3": {
        "S. No.": "3",
        "Name": "John",
        "Age": "19"
    },
    "4": {
        "S. No.": "4",
        "Name": "Tom",
        "Age": "22"
    },
    "5": {
        "S. No.": "5",
        "Name": "Harry",
        "Age": "19"
    },
    "6": {
        "S. No.": "6",
        "Name": "Ron",
        "Age": "20"
    },
    "7": {
        "S. No.": "7",
        "Name": "William",
        "Age": "13"
    },
    "8": {
        "S. No.": "8",
        "Name": "George",
        "Age": "15"
    },
    "9": {
        "S. No.": "9",
        "Name": "Mark",
        "Age": "11"
    },
    "10": {
        "S. No.": "10",
        "Name": "Max",
        "Age": "18"
    }
}

说明:

在上面的示例中,我们导入了 csvjson 库,并定义了一个名为 convjson() 的函数。然后,我们创建了一个空字典,并从CSV文件中读取了数据。我们将CSV中的行转换为字典并添加到数据中。然后,我们将数据转储到一个JSON文件中。最后,我们定义了文件路径名的变量,并调用 convjson() 函数来执行转换。结果是,当我们执行程序时,CSV文件成功转换为JSON文件。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程