模块介绍Python 的 csv 模块是标准库的一部分,自带于所有 Python 3 发行版中,无需额外安装。csv 模块提供用于读取和写入 CSV(Comma Separated Values)文件的类和方法。CSV 文件是一种广泛用于数据交换的文本格式,特别是在表格数据的传输中。
csv 模块适配所有 Python 3 版本,确保了其在数据处理任务中的一致性和可靠性。通过简单的接口和灵活的参数配置,用户可以轻松处理不同格式和复杂度的 CSV 文件。
应用场景csv 模块主要用于以下应用场景:
数据导入和导出 :从 Excel 和数据库系统导出数据并导入到 Python 进行处理,或将处理后的数据导出为 CSV 文件以便共享或存储。数据清理和转换 :使用 csv 模块可以方便地对数据进行清洗、过滤和格式转换,例如去除空行、修改字段格式等。数据分析和报告生成 :读取 CSV 文件后,可以进行数据分析、统计计算并生成各类报告。配置文件处理 :简单的配置数据常以 CSV 格式存储,通过 csv 模块可以快速读取和解析这些配置。 安装说明csv 模块是 Python 标准库的一部分,默认随 Python 3 一起安装,无需单独安装。您只需确保已安装 Python 3,然后在代码中导入 csv 模块即可。
用法举例 示例一:读取 CSV 文件假设我们有一个简单的 CSV 文件 data.csv
,内容如下:
1 2 3 4 name,age,city John Doe,28,New York Jane Smith,34,Los Angeles Emily Jones,22,Chicago
我们想读取这个 CSV 文件并将数据打印出来。
1 2 3 4 5 6 7 8 9 import csv with open ('data.csv' , mode='r' , newline='' , encoding='utf-8' ) as file: csv_reader = csv.reader(file) header = next (csv_reader) print (f'Header: {header} ' ) for row in csv_reader: print (f'Row: {row} ' )
示例二:写入 CSV 文件我们需要将一些数据写入一个新的 CSV 文件 output.csv
,数据如下:
1 2 3 4 5 6 data = [ ['name' , 'age' , 'city' ], ['Alice Brown' , 29 , 'San Francisco' ], ['Bob Smith' , 23 , 'Denver' ], ['Charlie Johnson' , 45 , 'Houston' ] ]
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 import csv data = [ ['name' , 'age' , 'city' ], ['Alice Brown' , 29 , 'San Francisco' ], ['Bob Smith' , 23 , 'Denver' ], ['Charlie Johnson' , 45 , 'Houston' ] ] with open ('output.csv' , mode='w' , newline='' , encoding='utf-8' ) as file: csv_writer = csv.writer(file) for row in data: csv_writer.writerow(row)
示例三:使用字典来读取和写入 CSV 文件有时候,我们希望能通过列名来访问数据,这时可以使用 DictReader
和 DictWriter
。
读取 data.csv
文件,并通过列名访问数据:
1 2 3 4 5 6 7 import csv with open ('data.csv' , mode='r' , newline='' , encoding='utf-8' ) as file: csv_dict_reader = csv.DictReader(file) for row in csv_dict_reader: print (f"{row['name' ]} is {row['age' ]} years old and lives in {row['city' ]} ." )
写入 output_dict.csv
文件,数据如下:
1 2 3 4 5 data = [ {'name' : 'David Lee' , 'age' : 39 , 'city' : 'Miami' }, {'name' : 'Emma Davis' , 'age' : 25 , 'city' : 'Seattle' }, {'name' : 'Frank Harris' , 'age' : 33 , 'city' : 'Portland' } ]
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import csv data = [ {'name' : 'David Lee' , 'age' : 39 , 'city' : 'Miami' }, {'name' : 'Emma Davis' , 'age' : 25 , 'city' : 'Seattle' }, {'name' : 'Frank Harris' , 'age' : 33 , 'city' : 'Portland' } ] with open ('output_dict.csv' , mode='w' , newline='' , encoding='utf-8' ) as file: fieldnames = ['name' , 'age' , 'city' ] csv_dict_writer = csv.DictWriter(file, fieldnames=fieldnames) csv_dict_writer.writeheader() for row in data: csv_dict_writer.writerow(row)
结论Python 的 csv 模块是处理 CSV 文件的强大工具,通过本文的详细介绍和实例,读者应能掌握在不同场景下使用 csv 模块的技巧。它不仅易学易用,而且功能强大,可以满足大部分 CSV 数据处理的需求。
强烈建议大家关注我的博客 “全糖冲击博客”,我的博客包含所有 Python 标准库使用教程,方便查询和学习。关注 “全糖冲击博客”,你将能够:
快速找到各种 Python 标准库的详细教程,节省时间,提高工作效率。 获取最新的 Python 库更新资讯,始终掌握前沿技术动态。 参与社区讨论,与其他 Python 开发者分享经验和技巧。 定期获得独家 Python 编程技巧和最佳实践指南,提升你的编程水平。 关注我的博客,让我们一起进步,共同探索 Python 的无限可能!
软件版本可能变动
如果本文档不再适用或有误,请留言或联系我进行更新。让我们一起营造良好的学习氛围。感谢您的支持! - Travis Tang