将 CSV 转换为 JSON

17 Mar 2025 | 4 分钟阅读

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

在我们开始之前,让我们先了解一下 CSV 和 JSON 文件是什么意思。

什么是 CSV 文件?

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

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

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

什么是 JSON 文件?

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

JSON 格式最初基于 JavaScript 的一个子集。然而,它被认为是一种与语言无关的格式,并得到了各种编程 API 的支持。JSON 通常用于 Ajax Web 应用程序编程。在过去几年里,JSON 作为 XML 的替代品,其受欢迎程度逐渐增长。

虽然有各种程序使用 JSON 进行数据交换,但它们可能不会将其 JSON 格式的文件保存在硬盘上。数据交换发生在通过 Internet 连接的计算机之间。尽管如此,少数程序允许我们保存 JSON 格式的文件。例如,Google+ 使用 JSON 文件保存个人资料数据。登录后,我们可以选择“数据解放”页面,然后选择“下载您的个人资料数据”选项。

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

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

CSV 文件到 JSON 文件的转换

我们将使用下面脚本编写的一个简单的 Python 程序将 CSV 文件转换为 JSON 文件。

我们将使用以下 CSV 文件。

文件:mydatalist.csv

Converting CSV to JSON in Python

程序

输出

文件: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 文件。