在处理 Excel 数据时,我们常常需要将一列数据拆分成多列。例如,将一个包含姓名、性别和部门等信息的单元格内容拆分,以便更方便地查看和处理这些信息。Excel 中的“分列”功能可以帮助我们通过指定分隔符(如逗号、空格、分号等)快速将一列数据分解成多列,从而提升数据的可读性,并方便后续的数据排序、筛选和分析。本文将介绍如何使用 Spire.XLS for Python 和 Python 实现 Excel 数据分列。
安装 Spire.XLS for Python
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 将 Excel 里的数据分列
Spire.XLS for Python 没有提供直接的方法对 Excel 中的数据进行分列,但你可以通过 CellRange.Text 属性获取单元格内容,然后使用 str.split() 方法来根据指定分隔符拆分这些内容,最后再将拆分结果写入不同的列。详细步骤如下:
- 创建 Workbook 类的对象,并调用 Workbook.LoadFromFile() 方法加载 Excel 工作簿。
- 通过 Workbook.Worksheets[index] 属性获取指定工作表。
- 循环遍历表格中的每行数据,通过 CellRange.Text 属性获取单元格中的文本内容;通过 str.split() 方法,根据指定分隔符将单元格中的数据拆分;然后将拆分后的数据写入指定列的单元格。
- 使用 Workbook.SaveToFile() 方法保存文档到指定路径。
- Python
from spire.xls import *
from spire.xls.common import *
# 指定输入和输出Excel文档路径
inputFile = "数据分列模版.xlsx"
outputFile = "数据分列.xlsx"
# 创建Workbook类的对象
workbook = Workbook()
# 加载Excel文档
workbook.LoadFromFile(inputFile)
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 遍历工作表的每一行
for i in range(sheet.LastRow):
# 获取当前行第一个单元格的文本
text = sheet.Range[i + 1, 1].Text
# 根据逗号拆分文本
splitText = text.split(',')
# 将拆分后的数据写入特定列的单元格
for j in range(len(splitText)):
sheet.Range[i + 1, j + 2].Text = splitText[j]
# 保存分列后的Excel文档
workbook.SaveToFile(outputFile, ExcelVersion.Version2013)
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。