使用Python实现Excel和CSV的互转

57 阅读4分钟

在日常数据处理工作中,Excel和CSV作为两种最常用的数据存储格式,其相互转换的需求无处不在。无论是数据分析师需要将CSV导入Excel进行可视化,还是开发者需要将Excel数据导出为CSV进行批量处理,手动转换往往耗时耗力且容易出错。幸运的是,借助Python的强大功能,我们可以轻松实现这一自动化过程。

本文将深入探讨如何使用 Spire.XLS for Python 库,高效、准确地实现Excel与CSV文件的互转。Spire.XLS for Python 是一款功能强大的Excel处理库,尤其擅长处理复杂的Excel文件,包括多工作表、格式、公式等,为我们的数据转换提供了坚实的基础。

Spire.XLS for Python 简介与安装

Spire.XLS for Python 是一个专业的Python库,专为创建、读取、编辑、转换和打印Excel文件而设计。它支持多种Excel文件格式(XLS, XLSX, XLSB, XLSM, CSV, ODS等),并提供了丰富的API,可以轻松处理单元格、行、列、工作表、图表、图片、公式等Excel元素。其卓越的性能和稳定性,使其成为处理大规模或复杂Excel文件的理想选择。

安装指令:

要开始使用 Spire.XLS for Python,您只需通过pip命令进行安装:

pip install Spire.XLS

安装完成后,您就可以在Python项目中导入并使用该库了。

使用Python将Excel转换为CSV

将Excel文件转换为CSV文件是数据导出的常见需求。利用 Spire.XLS for Python,这一过程变得异常简单。

转换步骤:

  1. 创建Workbook对象: 实例化一个 Workbook 对象用于加载Excel文件。
  2. 加载Excel文件: 使用 LoadFromFile() 方法加载目标Excel文件。
  3. 选择工作表: 获取需要转换的工作表。默认情况下,通常是第一个工作表。
  4. 保存为CSV格式: 调用工作表的 SaveToFile() 方法,并指定输出CSV文件的路径、分隔符和编码。
  5. 释放资源: 调用 Dispose() 方法释放Workbook资源,这是一个良好的编程习惯。

示例代码:

from Spire.Xls import *
from System.Text import Encoding

# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("input.xlsx")

# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 将工作表保存为CSV格式
# 参数依次是:输出文件路径,分隔符(例如逗号),编码方式
worksheet.SaveToFile("output.csv"",", Encoding.get_UTF8())

# 释放资源
workbook.Dispose()

print("Excel文件已成功转换为CSV文件:output.csv")

在上述代码中,input.xlsx 是您的源Excel文件,output.csv 是生成的CSV文件。我们使用了逗号作为分隔符,并指定了UTF-8编码,以确保数据在不同系统间的兼容性。

使用Python将CSV转换为Excel

将CSV文件转换为Excel文件,通常是为了方便数据的进一步分析、格式化或共享。Spire.XLS for Python 同样能轻松应对这一任务。

转换步骤:

  1. 创建Workbook对象: 实例化一个 Workbook 对象。
  2. 加载CSV文件: 使用 LoadFromFile() 方法加载目标CSV文件,并指定分隔符及数据起始行/列。
  3. 保存为Excel格式: 调用 SaveToFile() 方法,并指定输出Excel文件的路径和版本。
  4. 释放资源: 调用 Dispose() 方法释放Workbook资源。

示例代码:

from Spire.Xls import *

# 创建一个Workbook对象
workbook = Workbook()
# 加载CSV文件
# 参数依次是:文件路径,分隔符,第一个数据行(从1开始),第一个数据列(从1开始)
workbook.LoadFromFile("input.csv"","11# 保存为XLSX格式
# 参数依次是:输出文件路径,Excel版本(例如Version2016)
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016)

# 释放资源
workbook.Dispose()

print("CSV文件已成功转换为Excel文件:output.xlsx")

在此示例中,input.csv 是您的源CSV文件,output.xlsx 是生成的Excel文件。LoadFromFile 方法的第三个和第四个参数 1, 1 表示数据从CSV文件的第一行第一列开始读取,这对于处理带有标题行的CSV文件非常有用。ExcelVersion.Version2016 指定了输出的Excel文件版本。


总结

通过本文的详细讲解和代码示例,您已经掌握了如何利用 Spire.XLS for Python 库高效地实现Excel与CSV文件的相互转换。无论是将Excel数据导出为CSV进行轻量级处理,还是将CSV导入Excel进行复杂的分析和展示,Python的自动化能力结合 Spire.XLS for Python 的专业功能,都能为您带来极大的便利。

这种自动化转换不仅节省了宝贵的时间,还大大降低了手动操作可能引入的错误。我们鼓励您在实际工作中积极应用这些技术,并进一步探索 Spire.XLS for Python 提供的其他高级功能,例如数据筛选、样式设置、图表操作等,以应对更复杂的数据处理挑战。让Python成为您数据处理工作流中不可或缺的强大工具!