Python 读写 CSV 文件实战
Python 读写 CSV 文件
1. CSV 文件介绍:轻量级的数据中转站
CSV (Comma Separated Values) 全称“逗号分隔值”,是一种简单且通用的文件格式。在 Daoman Python AI 的实际工程中,它常被用于数据库数据的导入导出、异构系统间的数据交换以及机器学习数据集的存储。
由于 CSV 是纯文本文件,它具有极强的跨平台兼容性。无论是在 Excel 电子表格中直接编辑,还是在 Python 程序中批量处理,CSV 都表现得游刃有余。
CSV 文件的核心特点:
- 纯文本属性:使用常见的字符集(如 UTF-8、GBK 等)存储。
- 记录导向:由一行行记录组成,通常每行代表一条完整的数据。
- 字段分隔:每条记录内部由分隔符(逗号、分号或制表符
\t)拆分为列。 - 结构一致性:每条记录通常拥有相同的字段序列和含义。
2. 将数据写入 CSV 文件
假设我们需要将一份包含学生三门功课成绩的数据保存为 scores.csv。在 Python 中,我们利用标准库 csv 模块中的 writer 函数来实现。
基础写入示例:
进阶控制:方言与自定义格式
csv.writer 函数支持丰富的参数,用于处理复杂的格式需求:
delimiter:指定分隔符(如改为|)。quoting:控制包围符。例如csv.QUOTE_ALL会给所有字段加上双引号,有效避免字段内容包含分隔符时产生的二义性。
3. 从 CSV 文件读取数据
读取 CSV 数据同样简单。通过 csv.reader 函数创建的对象是一个迭代器,我们可以逐行提取数据。
技术细节:在
for循环中,每次迭代取出的data_list都是一个字符串列表,包含了该行所有的列数据。
4. 总结与前瞻
虽然 Python 原生的 csv 模块已经足够应对日常开发,但在 Daoman Python AI 涉及的大规模数据分析场景中,我们往往会祭出“核武器”——Pandas。
- Pandas 的威力:它提供了
read_csv()和to_csv()函数。 - DataFrame 对象:
read_csv()会将数据直接转换为DataFrame。这是一种极其强大的二维表结构,支持一行代码完成数据清洗、聚合统计和缺失值处理。 - 性能优势:对于数十万甚至百万行级别的 CSV 文件,Pandas 的处理速度和便捷性远超原生的
csvwriter。

