在日常开发中,在 Python 中读取 CSV 文件是数据处理、数据分析和后端集成场景中的常见任务。虽然 Python 自带 csv 和 pandas 等内置模块来处理 CSV 文件,但 Spire.XLS for Python 作为一款功能强大的库,能更高效地实现 CSV 与 Excel 文件的程序化操作,为复杂需求提供更优解。
本文将介绍如何使用 Python 读取 CSV 文件,内容涵盖从基础的 CSV 解析到高级处理技巧:
Spire.XLS for Python 简介
Spire.XLS for Python 是一款专注于 Excel 与 CSV 处理的全能库,相比 Python 原生 CSV 解析工具,它的核心优势的在于:
- 极简 API 设计,支持 CSV 数据的加载、读取与修改
- 灵活兼容各类分隔符,轻松应对非标准 CSV 文件
- 双向格式转换:可将 CSV 转 Excel(XLSX/XLS),也能将 Excel 转 CSV
无论是数据分析师处理结构化数据,还是开发人员搭建数据流转功能,这款库都能显著提升效率。
通过 pip 快速安装
开始使用前,需要先通过 pip 命令安装该库。它支持 Python 3.6 及以上版本,兼容 Windows、macOS、Linux 系统:
pip install Spire.XLS
基础示例:用 Python 读取 CSV 文件
先从简单场景入手:解析 CSV 文件并提取数据。假设我们有一份名为 “示例.csv” 的文件,内容如下:
姓名,年龄,职务,入职日期
李华,30,工程师,2020/3/18
孙东,28,运维,2022/11/9
张莉,25,财务,2023/1/27
Python 读取 CSV 的完整代码
以下 Python 代码可实现 CSV 文件的加载与数据提取:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 CSV 文件
workbook.LoadFromFile("示例.csv", ",", 1, 1)
# 获取第一个工作表(CSV 文件默认加载为单个工作表)
worksheet = workbook.Worksheets[0]
# 获取包含数据的行数和列数
row_count = worksheet.LastRow
col_count = worksheet.LastColumn
# 遍历行和列,打印数据
print("CSV 数据:")
for row in range(row_count):
for col in range(col_count):
# 获取单元格值
cell_value = worksheet.Range[row+1, col+1].Value
print(cell_value, end="\t")
print() # 每行结束后换行
# 关闭工作簿,释放资源
workbook.Dispose()
代码说明
- 工作簿初始化:Workbook 是操作 Excel/CSV 文件的核心类,所有文件处理都基于该对象展开。。
- 加载 CSV 文件:LoadFromFile()方法用于导入 CSV 数据,其参数如下:
- fileName:待读取的 CSV 文件路径。
- separator:文件使用的分隔符(例如 “,”)。
- row/column:起始读取行 / 列索引(从 1 开始计数)。
- 访问工作表:CSV 数据会加载到第一个工作表中。
- 读取数据:通过遍历行和列,借助worksheet.Range[].Value 来提取单元格的值。
输出结果: 程序会在控制台以制表符分隔的格式,清晰打印出 CSV 文件中的所有数据。
进阶技巧:优化 CSV 读取体验
1. 使用自定义分隔符读取 CSV 文件
很多场景下 CSV 不会用逗号分隔(比如用分号 “;”、制表符 “\t”),此时只需在加载文件时指定对应分隔符即可。例如读取以分号为分隔符的 CSV:
# 加载 CSV 文件
workbook.LoadFromFile("input.csv", ";", 1, 1)
2. 跳过表头或空行
若 CSV 文件包含表头或空行,可通过调整 LoadFromFile() 的 “起始行” 参数跳过:
# 跳过第一行(表头),从第 2 行开始读取(基于 1 开始计数)
workbook.LoadFromFile("input.csv", ",", 2, 1)
3. Python 将 CSV 转换为 Excel
Spire.XLS 的核心亮点之一,就是能将 CSV 快速转为 Excel 格式,并支持 Excel 的各类高级功能。转换后可实现:
- 美化格式:设置单元格颜色、添加边框、调整字体
- 数据可视化:插入柱状图、折线图等图表
- 便捷分享:保存为通用的 XLSX 格式,兼容主流办公软件
转换教程:在 Python 中将 CSV 转换为 Excel
文章总结
借助 Spire.XLS for Python 处理 CSV 文件,无论是基础的数据读取,还是自定义分隔符、格式转换等进阶需求,都能以简洁的代码实现。这套方案不仅降低了开发难度,还能兼容各类复杂场景,非常适合集成到数据处理项目中。
若需探索更多高级功能(如 Excel 公式计算、数据筛选),可参考 Spire.XLS for Python 官方文档获取详细教程。