在Python中进行CSV文件的读取与写入操作

 更新时间:2025年03月09日 15:16:02   作者:climber1121  
本文详细介绍了如何在Python中使用csv模块进行CSV文件的读取和写入,包括基本用法和高级功能,如DictWriter和DictReader,以及注意事项,需要的朋友可以参考下

1 引言

在数据处理和数据分析领域,CSV (逗号分隔值) 文件是一种常见的文件格式,用于存储表格数据。Python 通过内置的 csv 模块提供了对 CSV 文件的读写支持,使得处理这种类型的文件变得简单高效。本文将详细介绍如何在 Python 中进行 CSV 文件的读取和写入操作。

2 CSV 文件简介

CSV 文件是一种简单的文本文件,其中的数据由逗号分隔。每行代表一个数据记录,每个记录可以包含多个字段。CSV 文件被广泛用于数据交换和数据存储。

3 Python 中的 csv 模块

Python 的 csv 模块提供了一系列函数来读取和写入 CSV 文件。它可以处理各种类型的 CSV 数据,包括不同的分隔符和引号约定。

4 写入 CSV 文件

4.1 基本用法

import csv

# 数据
data = [
    ['Name', 'Age', 'City'],
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles']
]

# 写入 CSV 文件
with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

4.2 高级用法

使用 DictWriter 写入 CSV,提供了字段名的映射。

with open('example.csv', 'w', newline='') as file:
    fields = ['Name', 'Age', 'City']
    writer = csv.DictWriter(file, fieldnames=fields)

    writer.writeheader()
    writer.writerow({'Name': 'Alice', 'Age': 30, 'City': 'New York'})
    writer.writerow({'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'})

5 读取 CSV 文件

5.1 基本用法

# 读取 CSV 文件
with open('example.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

5.2 高级用法

使用 DictReader 读取 CSV,每行数据被映射到一个字典。

with open('example.csv', 'r') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

6 实例演示

以下是一个 Python 示例,演示如何使用 csv 模块来读取和写入 CSV 文件。这个示例将包含两个主要部分:一个用于写入 CSV 文件的函数和另一个用于读取 CSV 文件的函数。我们将这些功能封装在一个名为 csv_example.py 的 Python 文件中。

# csv_example.py
import csv

def write_csv(file_name, data, field_names=None):
    """ 写入 CSV 文件 """
    with open(file_name, 'w', newline='', encoding='utf-8') as file:
        if field_names:
            writer = csv.DictWriter(file, fieldnames=field_names)
            writer.writeheader()
            writer.writerows(data)
        else:
            writer = csv.writer(file)
            writer.writerows(data)

def read_csv(file_name):
    """ 读取 CSV 文件 """
    with open(file_name, 'r', newline='', encoding='utf-8') as file:
        reader = csv.reader(file)
        for row in reader:
            print(row)

def main():
    # CSV 文件名
    file_name = 'example.csv'

    # 数据 - 字典格式
    data_dict = [
        {'Name': 'Alice', 'Age': 30, 'City': 'New York'},
        {'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'}
    ]

    # 数据 - 列表格式
    data_list = [
        ['Name', 'Age', 'City'],
        ['Alice', 30, 'New York'],
        ['Bob', 25, 'Los Angeles']
    ]

    # 写入 CSV 文件
    write_csv(file_name, data_dict, field_names=['Name', 'Age', 'City'])
    # 或者使用列表数据
    # write_csv(file_name, data_list)

    # 读取 CSV 文件
    read_csv(file_name)

if __name__ == '__main__':
    main()

运行以上代码控制台输出结果:[‘Name’, ‘Age’, ‘City’]
[‘Alice’, ‘30’, ‘New York’]
[‘Bob’, ‘25’, ‘Los Angeles’]
并生成文件:“example.csv”,内容如下:

这个脚本定义了两个函数:write_csv 和 read_csv。write_csv 函数可以根据传入的数据格式(字典或列表)将数据写入 CSV 文件。read_csv 函数则用于读取 CSV 文件并打印其内容。main 函数中整合了这些操作的流程。运行这个脚本将会创建一个名为 example.csv 的文件,并在其中写入数据,然后读取并打印出这些数据。

7 注意事项

  • 读写文件时,确保使用 newline='' 参数来防止在不同平台上的换行符问题。
  • 对于包含特殊字符的字段,如逗号或引号,csv 模块可以正确处理它们。
  • 在使用 DictReader 和 DictWriter 时,字段名的顺序是很重要的。

8 总结

Python 中的 csv 模块为处理 CSV 文件提供了强大且灵活的工具。无论您是在进行数据分析还是简单的数据导入导出,掌握如何有效地读写 CSV 文件都是一项非常有用的技能。

以上就是在Python中进行CSV文件的读取与写入操作的详细内容,更多关于Python CSV文件读取与写入的资料请关注脚本之家其它相关文章!

相关文章

  • python实现人人对战的五子棋游戏

    python实现人人对战的五子棋游戏

    这篇文章主要为大家详细介绍了python实现人人对战的五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python中的time模块与datetime示例详解

    Python中的time模块与datetime示例详解

    这篇文章给大家分享Python中的time与datetime模块的相关知识,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • python学生信息管理系统实现代码

    python学生信息管理系统实现代码

    这篇文章主要为大家详细介绍了python学生信息管理系统的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • 使用Python自制一个回收站清理器

    使用Python自制一个回收站清理器

    经常笔记本电脑的回收站存储了很多的文件,需要打开回收站全部选中进行清理。这篇文章将使用Python自制一个回收站清理器,需要的可以参考一下
    2023-03-03
  • Python实现两个list对应元素相减操作示例

    Python实现两个list对应元素相减操作示例

    这篇文章主要介绍了Python实现两个list对应元素相减操作,结合具体实例形式分析了list对应元素操作的简单实现技巧,需要的朋友可以参考下
    2017-06-06
  • 利用Python实现批量加密Excel文件

    利用Python实现批量加密Excel文件

    在日常工作中,我们经常需要处理大量的Excel文件,为了保护敏感数据的安全性,我们可能需要对这些文件进行加密,本文主要介绍了如何使用Python实现批量加密Excel文件,需要的可以参考下
    2023-11-11
  • Python中的pathlib.Path为什么不继承str详解

    Python中的pathlib.Path为什么不继承str详解

    这篇文章主要给大家介绍了关于Python中pathlib.Path为什么不继承str的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 使用Python编写类UNIX系统的命令行工具的教程

    使用Python编写类UNIX系统的命令行工具的教程

    这篇文章主要介绍了使用Python编写类UNIX系统的命令行工具的教程,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • Python调用其他.py文件函数的常见场景及实现方法详解

    Python调用其他.py文件函数的常见场景及实现方法详解

    在 Python 程序运行时,如何调用另一个.py文件中的函数,这是 Python 开发中非常基础且常用的操作,本文介绍了Python中调用其他.py文件函数的几种常见场景及实现方法,大家可以根据需要进行选择
    2026-02-02
  • Python 字符串操作实现代码(截取/替换/查找/分割)

    Python 字符串操作实现代码(截取/替换/查找/分割)

    这篇文章主要介绍了Python 字符串截取/替换/查找/分割等实现方法,需要的朋友可以参考下
    2013-06-06

最新评论