在 Python 中将 CSV 转换为 JSON

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

但是我们开始,让我们理解 CSV 和 JSON 文件的含义。

什么是 CSV 文件?

一个 CSV 文件,简称逗号分隔值文件,是一个存储数据列表的纯文本文件。CSV 文件通常用于在各种应用之间交换数据。例如,联系人管理器和数据库通常提供 CSV 文件支持。

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

逗号分隔值(CSV)文件有一个非常基本的结构,包含一些用逗号列出和分隔的数据。CSV 文件的设计方式使其可以轻松地从其他应用导入和导出数据。生成的数据很容易被人读取,并且可以用文本编辑器(如记事本)或电子表格应用(如微软 Excel 或谷歌工作表)查看。

什么是 JSON 文件?

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

JSON 格式真正基于 JavaScript 子集。然而,它被称为一种独立于语言的格式,并受到各种编程接口的支持。JSON 通常用于 Ajax 网络应用编程。在过去的几年里,作为 XML 的替代品,JSON 的受欢迎程度逐渐提高。

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

由于 JSON 文件是纯文本文件,允许我们在任何文本编辑器中打开它们,例如微软的视窗记事本、苹果的苹果文本编辑、Linux 的 Vim 和 GitHub Atom,我们还可以使用谷歌 Chrome 和 Mozilla Firefox 等网络浏览器来打开 JSON 格式的文件。

现在让我们从 CSV 文件到 JSON 文件的转换开始。

CSV 文件到 JSON 文件的转换

我们将在下面编写脚本的简单 Python 程序的帮助下,将 CSV 文件转换为 JSON 文件。

我们将使用以下 CSV 文件。

文件:mydatalist.csv

程序:


# 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"
    }
}

说明:

在上例中,我们导入了 csv 和 json 库,并将一个函数定义为 convjson() 。然后,我们创建了一个空字典,并从 CSV 文件中读取数据。我们已经将行从 CSV 转换为字典,并将它们添加到数据中。然后,我们将数据转储到一个 JSON 文件中。最后,我们为文件路径名定义了变量,并调用 convjson() 函数来实现转换。因此,当我们执行该程序时,CSV 文件被成功转换为 JSON 文件。


原创文章,作者:ZLSIV,如若转载,请注明出处:https://www.506064.com/n/129963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ZLSIVZLSIV
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论