首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >第十四章:JSON和CSV格式详解及Python操作

第十四章:JSON和CSV格式详解及Python操作

作者头像
啊阿狸不会拉杆
发布2026-01-21 10:15:45
发布2026-01-21 10:15:45
2940
举报

    在数据处理和开发工作中,JSON和CSV是两种非常常见的数据格式。它们各有特点,适用于不同的场景。本文将分别介绍这两种格式的产生原因、应用场景,并结合Python讲解如何操作这两种文件格式,最后用表格总结它们的常用操作及特性。资源绑定附上完整资源供读者参考学习!

一、JSON格式

1. 什么是JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但独立于语言,可以在多种编程语言中使用。

2. JSON的产生原因

  • 跨平台数据交换:在Web开发中,前后端需要传递数据,JSON作为一种轻量级格式,可以方便地在不同语言和平台之间传递数据
  • 结构化数据表示:JSON可以很好地表示嵌套结构,适合存储复杂的数据对象。

3. JSON的应用场景

  • API数据传输:RESTful API通常使用JSON格式传递数据。
  • 配置文件:许多应用程序使用JSON作为配置文件格式。
  • 前端与后端交互:前端JavaScript可以直接解析JSON数据,方便数据展示。

4. Python操作JSON文件

4.1 读取JSON文件

Python

代码语言:javascript
复制
​
import json

# 打开并读取JSON文件
with open('data.json', 'r', encoding='utf-8') as file:
    data = json.load(file)

# 使用读取的数据
print(data)
print(data['name'])  # 访问具体字段

​
4.2 写入JSON文件

Python

代码语言:javascript
复制
import json

# 创建一个字典
data = {
    'name': '张三',
    'age': 30,
    'city': '北京'
}

# 将字典写入JSON文件
with open('person.json', 'w', encoding='utf-8') as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

5. 实例:创建一个JSON文件作为演示

以下是一个完整的示例,展示如何在Python中创建一个JSON文件,并解释每一步的操作。

5.1 创建一个Python字典

首先,我们创建一个包含一些数据的Python字典。这个字典将被转换为JSON格式。

Python

代码语言:javascript
复制
# 创建一个包含个人信息的字典
person = {
    "name": "张三",
    "age": 30,
    "city": "北京",
    "is_student": False,
    "hobbies": ["阅读", "旅行", "编程"],
    "address": {
        "street": "长安街123号",
        "zip_code": "100000"
    }
}
5.2 将字典写入JSON文件

使用Python的json模块将字典写入一个JSON文件。

Python

代码语言:javascript
复制
import json
# 创建一个包含个人信息的字典
person = {
    "name": "张三",
    "age": 30,
    "city": "北京",
    "is_student": False,
    "hobbies": ["阅读", "旅行", "编程"],
    "address": {
        "street": "长安街123号",
        "zip_code": "100000"
    }
}
# 将字典写入JSON文件
with open('person.json', 'w', encoding='utf-8') as file:
    json.dump(person, file, ensure_ascii=False, indent=4)
5.3 运行代码

运行上述代码后,会在当前目录下生成一个名为person.json的文件。打开这个文件,你会看到如下内容:

JSON

代码语言:javascript
复制
{
    "name": "张三",
    "age": 30,
    "city": "北京",
    "is_student": false,
    "hobbies": [
        "阅读",
        "旅行",
        "编程"
    ],
    "address": {
        "street": "长安街123号",
        "zip_code": "100000"
    }
}
5.4 验证和使用JSON文件

你可以读取这个JSON文件并使用其中的数据:

Python

代码语言:javascript
复制
import json

# 读取JSON文件
with open('person.json', 'r', encoding='utf-8') as file:
    data = json.load(file)

# 使用读取的数据
print(data)
print(data['name'])  # 输出:张三
print(data['hobbies'][0])  # 输出:阅读
print(data['address']['street'])  # 输出:长安街123号

二、CSV格式

1. 什么是CSV?

CSV(Comma-Separated Values)是一种简单的文本文件格式,用于存储表格数据,如电子表格或数据库中的数据。每一行是一个数据记录,每个记录由一个或多个字段组成,字段之间以逗号分隔。

2. CSV的产生原因
  • 表格数据存储:CSV格式简单,适合存储表格化数据
  • 数据交换:许多应用程序支持CSV导入导出,方便数据交换。
3. CSV的应用场景
  • 数据导入导出Excel、Google Sheets等工具支持CSV格式。
  • 数据分析:Python的Pandas库可以方便地处理CSV文件。
  • 日志记录:某些系统会以CSV格式记录日志。
4. Python操作CSV文件
4.1 读取CSV文件

Python

代码语言:javascript
复制
​
import csv

# 打开并读取CSV文件
with open('data.csv', 'r', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)  # 每行是一个列表

​
4.2 使用DictReader读取CSV文件(带表头)

Python

代码语言:javascript
复制
​
import csv

with open('data.csv', 'r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row['name'], row['age'])  # 按列名访问

​
4.3 写入CSV文件

Python

代码语言:javascript
复制
import csv

# 创建数据
data = [
    ['name', 'age', 'city'],
    ['张三', 30, '北京'],
    ['李四', 25, '上海']
]

# 写入CSV文件
with open('2001-2017年北京市水资源情况信息.csv', 'w', encoding='GBK', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)
5. 实例:使用Pandas处理CSV文件

Python

代码语言:javascript
复制
​
import pandas as pd

# 读取CSV文件
df = pd.read_csv('data.csv')

# 处理数据
print(df.head())  # 查看前几行
print(df.describe())  # 数据统计

# 筛选数据
filtered_data = df[df['age'] > 25]
print(filtered_data)

​

三、总结:JSON与CSV的常用操作及特性对比

特性

JSON

CSV

文件结构

嵌套结构(对象和数组)

表格结构(行和列)

适用场景

API数据、配置文件、复杂嵌套数据

表格数据、数据导入导出、简单数据存储

文件扩展名

.json

.csv

读取方式

json.load()

csv.reader() 或 csv.DictReader()

写入方式

json.dump()

csv.writer()

数据类型支持

支持多种数据类型(字符串、数字、布尔值等)

主要支持字符串,需自行解析数据类型

文件大小

通常较大(包含键名和结构)

通常较小(仅包含值)

可读性

结构清晰,适合人类阅读

简单直观,适合表格化数据

Python库支持

json模块

csv模块、pandas库

四、总结

JSON和CSV各有优势,选择哪种格式取决于具体需求:

  • 如果需要处理结构化、嵌套的数据,或者用于API通信,JSON是更好的选择。
  • 如果需要处理表格化数据,或者进行数据导入导出,CSV更适合。

   通过Python的标准库(jsoncsv模块)以及第三方库(如pandas),我们可以很方便地操作这两种格式的文件。希望本文能帮助你更好地理解和使用JSON和CSV格式!资源绑定附上完整资源供读者参考学习!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、JSON格式
    • 1. 什么是JSON?
    • 2. JSON的产生原因
    • 3. JSON的应用场景
    • 4. Python操作JSON文件
      • 4.1 读取JSON文件
      • 4.2 写入JSON文件
    • 5. 实例:创建一个JSON文件作为演示
      • 5.1 创建一个Python字典
      • 5.2 将字典写入JSON文件
      • 5.3 运行代码
      • 5.4 验证和使用JSON文件
  • 二、CSV格式
    • 1. 什么是CSV?
    • 2. CSV的产生原因
    • 3. CSV的应用场景
    • 4. Python操作CSV文件
    • 5. 实例:使用Pandas处理CSV文件
  • 三、总结:JSON与CSV的常用操作及特性对比
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档