📜  使用Python将 CSV 转换为 JSON(1)

📅  最后修改于: 2023-12-03 14:49:50.336000             🧑  作者: Mango

使用Python将CSV转换为JSON

在数据处理中,CSV(逗号分隔值)和JSON(JavaScript对象表示法)是两种常见的格式。CSV文件通常用于表格数据,而JSON文件通常用于Web API,配置文件等。 在许多情况下,需要将CSV文件转换为JSON格式。 Python是一种流行的编程语言,可以用来实现这个任务。

CSV文件简介

CSV文件是一种简单的文本文件格式,其数据以逗号分隔。每一行都是一条记录,逗号将各条数据分隔。在CSV文件中,第一行通常用作标题。

以下是一个示例CSV文件,其中包含两条记录:

name,age,gender
John,25,Male
Jane,21,Female
JSON文件简介

JSON是一种轻量级的数据交换格式,它以键值对的形式存储数据。它是一种自描述的格式,数据可以包括数字、字符串、布尔值、对象和数组。

以下是一个示例JSON文件,它包含两个人员的信息:

[
  {
    "name": "John",
    "age": 25,
    "gender": "Male"
  },
  {
    "name": "Jane",
    "age": 21,
    "gender": "Female"
  }
]
使用Python将CSV转换为JSON的步骤

将CSV文件转换为JSON可以通过Python的csv和json模块实现。

步骤1:读取CSV文件

使用csv模块的reader函数读取CSV文件。在读取CSV文件时,通常忽略第一行,因为它是标题行。

以下是一个示例程序,用于读取上述CSV文件中的数据:

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    headers = next(reader)  # 读取标题行
    data = []
    for row in reader:
        data.append(row)

步骤2:转换数据格式

将CSV数据转换为JSON数据。 在这个步骤中,遍历CSV数据,创建一个Python字典来保存每个记录的数据,并将其添加到一个列表中。

以下是一个示例程序,用于将上述CSV数据转换为JSON数据:

import json

json_data = []
for d in data:
    json_data.append({
        headers[0]: d[0],
        headers[1]: int(d[1]),
        headers[2]: d[2]
    })
json_data = json.dumps(json_data, indent=4)
print(json_data)

步骤3:写入JSON文件

最后,使用json模块的dump函数将转换后的JSON数据写入JSON文件。

以下是一个示例程序,用于将上述JSON数据写入JSON文件:

with open('data.json', 'w') as f:
    json.dump(json_data, f)
完整程序

以下是一个完整的程序,用于将CSV文件转换为JSON文件:

import csv
import json

# 读取CSV文件
with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    headers = next(reader)  # 读取标题行
    data = []
    for row in reader:
        data.append(row)

# 转换数据格式
json_data = []
for d in data:
    json_data.append({
        headers[0]: d[0],
        headers[1]: int(d[1]),
        headers[2]: d[2]
    })

# 将JSON数据写入JSON文件
with open('data.json', 'w') as f:
    json.dump(json_data, f)
总结

本文介绍了如何使用Python将CSV文件转换为JSON文件。使用csv和json模块可以轻松完成这个任务。 对于需要在不同应用程序之间共享数据的开发人员来说,这个技能非常有用。