Python读写CSV文件:使用csv模块进行数据读取与写入详解

落日邮差
落日邮差
发布时间:2026-10-15| 3人浏览过
原创

本文详细介绍Python中如何使用内置csv模块读取和写入CSV文件。重点讲解csv.reader()按行分割数据、通过索引访问元素,以及csv.DictReader()利用表头键值读取数据的方法。同时涵盖写入CSV时的open参数设置、csv.writer配置及writerow与writerows的具体用法,帮助开发者高效处理CSV数据。

1. 读取CSV文件 csv.reader()

该函数的主要功能是利用 ',' 作为分隔符对CSV格式的数据进行分割,并将分割后的每一行数据存入列表中。同时,它会自动去除每行末尾可能产生的空格、换行符或制表符等字符。

import csv
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    # 使用csv.reader()将文件中的每行数据读入到一个列表中
    reader = csv.reader(File, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL)
    # 遍历列表将数据按行输出
    for row in reader:
        print(row)      

可以直接通过索引来访问每行数据中的列元素。

for row in reader:
    print(row[0])

csv.DictReader()

该方法将文件中的每一行数据保存在 OrderedDict 对象中。这种数据类型类似于嵌套着元组的列表,其中每个元组的第一个元素为键,第二个元素为值。这里的键直接来源于CSV数据中的表头信息。

import csv
results = []
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    reader = csv.DictReader(File)
    for row in reader:
        print(row)

可以通过键值对的方式读取部分特定信息。

 for row in reader:
        print(row['MakeSpan'],row['WaitTime'])

关于DictReader()的更多高级用法尚未在此整理,如有需要可参考其他文章:CSV.DictReader()方法。

2. 写入CSV文件

首先需要导入读写csv所需的包:

import csv

使用open()函数打开一个文件,open()函数常用的参数包括:

  • file:文件路径、文件名
  • mode:打开模式,r(只读),w(只写),a(追加模式)
  • newline:每行之间是否存在空行,默认存在空行,' ':没有空行。
myFile = open('example2.csv', 'w', newline='')

csv.writer模块,用于将数据写入CSV:

  • csvfile:这 能够 是带有write()方法的任何对象。
  • dialect=‘excel’:一个可选参数,用于定义特定于特定CSV的一组参数。
  • fmtparam:可选参数,可用于覆盖现有的格式设置参数。
writer = csv.writer(myFile)

使用writerow()和writerows()将数据写入到CSV文件中:

  • writerow():将数据存到csv文件中的一行里,每个元素占用一个单元格
  • writerows():将数据中的每一个列表存到CSV文件中的一行里,列表中每个元素占用一个单元格
myData1 = [["这", "是", "writerow", "的", "效", "果"],
           ["这", "是", "writerow", "的", "效", "果"],
           ["这", "是", "writerow", "的", "效", "果"]]
           
myData2 = [["这", "是", "writerows", "的", "效", "果"],
           ["这", "是", "writerows", "的", "效", "果"],
           ["这", "是", "writerows", "的", "效", "果"]]
myFile = open('example2.csv', 'w', newline='')
with myFile:
    writer = csv.writer(myFile)
    writer.writerow(myData1) 
    writer.writerows(myData2) 

写入文件后的效果如下所示:

到此这篇关于Python数据读写之Python读写CSV文件的文章就介绍到这了,更多相关Python读写CSV文件内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。