国产化Excel开发组件Spire.XLS教程:Python 将 CSV 转换为 Excel(.XLSX)
当我们处理数据时,使用 CSV 文件很常见,但如果涉及到数据共享、可视化和大规模分析方面,Excel(XLSX)往往具有更多优势。
E-iceblue旗下Spire系列产品,是文档开发组件领域的佼佼者,支持国产化信创。本文将为你介绍如何借助Spire.XLS使用 Python 转换 CSV 为 Excel,涵盖单个文件和批量转换两种方法。无论是需要自动生成报表,还是为后续分析做数据准备,都能通过本教程高效完成转换。
Spire.XLS for Python试用下载
为什么要将 CSV 转换为 Excel?
由于 CSV 文件的结构较为简单,因此它在数据存储与交换中被广泛使用,但在格式设置、呈现效果和可用性方面存在不少限制。将 CSV 转换为 Excel 能带来多方面优势:
将 CSV 转换为 Excel 的优势
- 更丰富的格式支持:Excel 提供字体、颜色、边框、单元格合并等多种格式设置,让数据更易阅读和展示。
- 多工作表支持:CSV 只能包含单一工作表,而 Excel 文件可在同一文件中保存多个工作表,更适合处理大型数据集。
- 内置公式与图表功能:可直接使用 Excel 公式、数据透视表和图表进行数据分析与可视化。
- 更适合业务用户:Excel 是许多非技术用户的首选工具,便于数据共享与协作。
CSV 文件的局限性
- 无样式和格式支持(仅限纯文本)。
- 仅支持单工作表结构。
- 容易出现编码问题(例如包含非英文字符时)。
- 不适合大型数据集或复杂报表。如果你的工作流程涉及报表生成、数据分析或与他人共享数据,将 CSV 转换为 Excel 往往是更实用、更灵活的选择。
安装所需的 Python 库
本教程将使用 Spire.XLS for Python 来演示如何在 Python 中轻松转换 CSV 为 Excel,包括 .xlsx 和 .xls 格式。Spire.XLS 是一款功能强大且专业的 Python Excel 库,可在不依赖 Microsoft Excel 的情况下读取、编辑和转换 Excel 文件。
安装这个 CSV 转 Excel 工具非常简单,只需运行以下命令:
pip install Spire.XLS
此外,你也可以手动下载 Spire.XLS 安装包,进行自定义安装。
Python 将单个 CSV 文件转换为 Excel
接下来进入正题——如何在 Python 中将单个 CSV 文件转换为 Excel。有了 Spire.XLS,这个任务只需三步:创建新工作簿、加载 CSV 文件、将其保存为 Excel(.xlsx或.xls)文件。下面我们将结合完整代码示例为你详细讲解。
在 Python 中将单个 CSV 转换为 Excel 的步骤:
- 创建一个 Workbook 实例。
- 使用 Workbook.LoadFromFile() 方法加载示例 CSV 文件。
- 通过 Workbook.SaveToFile() 方法将 CSV 保存为 Excel 文件。
下面的 Python 代码不仅实现了 CSV 转 Excel,还设置了忽略解析错误,并自动调整列宽以提升可读性:
from spire.xls import * from spire.xls.common import *# 创建一个 Workbook 对象 workbook = Workbook()# 加载一个 CSV 文件 workbook.LoadFromFile("/input/人口土地.csv", ",", 1, 1)# 设置忽略错误选项和自适应列宽 sheet = workbook.Worksheets[0] sheet.Range["B2:D11"].IgnoreErrorOptions = IgnoreErrorType.NumberAsText sheet.AllocatedRange.AutoFitColumns() # 将 CSV 文件保存为 Excel workbook.SaveToFile("/output/CSV转Excel.xlsx", ExcelVersion.Version2013) # 将 CSV 文件保存为.xls #workbook.SaveToFile("/output/CSV转Excel11.xls", ExcelVersion.Version97to2003)
单个 CSV 文件转换为 Excel 结果文档预览:
Python 批量将 CSV 转换为 XLSX
另一种常见需求是将多个 CSV 文件批量转换为 Excel。与其在代码中手动修改文件路径和文件名,不如用更高效的方式:只需将所有 CSV 文件放在同一文件夹中,然后用 Python 遍历文件并调用 Workbook.SaveToFile() 方法就能成功将文件夹中所有 CSV 文件一次性转换为 Excel 文件。
在 Python 中批量将 CSV 转换为 Excel 的步骤如下:
- 指定输入文件夹和输出文件夹的路径。
- 遍历输入文件夹中的所有 CSV 文件。
- 创建一个 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载输入文件夹中的每个 CSV 文件。
- 调用 Workbook.SaveToFile() 方法将当前 CSV 文件保存为 Excel 文件。
下面的 Python 代码示例演示了如何批量将 CSV 转换为 Excel(.XLSX):
import os from spire.xls import *input_folder = r"/input/CSV" output_folder = r"/output/BatchConversion"# 遍历所有 CSV 文件 for csv_file in os.listdir(input_folder):if csv_file.endswith(".csv"):input_path = os.path.join(input_folder, csv_file)output_name = os.path.splitext(csv_file)[0] + ".xlsx"output_path = os.path.join(output_folder, output_name)# 创建 Workbook 实例并加载 CSV 文件workbook = Workbook()workbook.LoadFromFile(input_path, ",", 1, 1)# 将每个 CSV 文件保存为 Excel 文件workbook.SaveToFile(output_path, ExcelVersion.Version2013)
下方是批量转换 CVS 为 Excel 文件的结果预览:
总结
本文通过分步讲解与完整代码示例,演示了如何在 Python 中将 CSV 转换为 Excel。无论是处理单个 CSV 文件,还是批量转换多个文件,Spire.XLS 都能让整个过程变得简单高效。