文本文件(.txt)作为一种常见的数据存储形式,因简单易用而被广泛应用,但相比 Excel 电子表格,其缺乏结构化布局与专业的数据分析能力。将 TXT 文件转换为 Excel 格式,能够显著提升数据组织的规范性、可视化呈现效果及操作便捷性。
尽管手动将文本文件导入 Excel 在处理小规模数据集时具有可行性,但实现自动化转换流程可大幅节省时间并降低人为错误率。Python 凭借其丰富的功能库,为该需求提供了高效解决方案。本文将详细介绍如何借助 Spire.XLS for Python 库在 Python 中将 TXT 文本文件转换为 Excel 表格。
准备工作
安装 Python 和 Spire.XLS
pip install Spire.XLS
准备 TXT 文本文件
确保您的文本文件采用一致的结构,通常行与行之间用换行符隔开,列与列之间用分隔符(如逗号、制表符或空格)隔开。一个简单示例文本文件如下所示:
将文本文件转换为 Excel 的分步指南
步骤 1:导入所需模块
从 Spire.XLS for Python中导入以下所需的类:
from spire.xls import *
from spire.xls.common import *
步骤 2:读取并解析 TXT 文件
读取文本文件,并使用 Python 内置函数将其分成行和列。本例中的分隔符为制表符(Tab):
with open("生产表.txt", "r", encoding='utf-8') as file:
lines = file.readlines()
data = [line.strip().split("\t") for line in lines]
注意: 如果使用了不同的分隔符,请替换 split() 方法的参数 "\t" (例如,空格为 split(" "))。
步骤 3:创建 Excel 工作簿
初始化Workbook工作簿对象并访问第一个工作表:
workbook = Workbook()
sheet = workbook.Worksheets[0]
步骤 4:将数据写入工作表
遍历TXT文件中的数据并填充到相应 Excel 单元格:
for row_num, row_data in enumerate(data):
for col_num, cell_data in enumerate(row_data):
sheet.Range[row_num + 1, col_num + 1].Value = cell_data
sheet.Range[1, col_num + 1].Style.Font.IsBold = True
第 5 步:保存 Excel 文件
将工作簿导出为 XLSX 文件(旧格式也可使用 .xls):
workbook.SaveToFile("TXT转Excel.xlsx", ExcelVersion.Version2016)
TXT 转 Excel 完整代码示例
from spire.xls import *
from spire.xls.common import *
# 读取TXT文本数据
with open("生产表.txt", "r", encoding='utf-8') as file:
lines = file.readlines()
# 按指定分隔符拆分数据
data = [line.strip().split("\t") for line in lines]
# 创建Excel工作簿
workbook = Workbook()
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 遍历文本文件中的每一行数据
for row_num, row_data in enumerate(data):
for col_num, cell_data in enumerate(row_data):
# 将数据写入相应单元格
sheet.Range[row_num + 1, col_num + 1].Value = cell_data
# 加粗标题行
sheet.Range[1, col_num + 1].Style.Font.IsBold = True
# 自适应列宽
sheet.AllocatedRange.AutoFitColumns()
# 保存为Excel (.xlsx 或.xls) 文件
workbook.SaveToFile("TXT转Excel.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
生成的Excel 工作簿:
结论
使用 Spire.XLS 在 Python 中将 TXT 文件转换为 Excel,可实现自动执行数据工作流,并节省时间和减少人工操作。无论您是处理日志、调查结果还是财务记录,这种方法都能确保结构化、格式化的输出,以便随时进行分析。
进阶技巧: 探索 Spire.XLS 的高级功能,如图表、数据透视表和加密,以进一步增强 Excel 文件。
常见问题
问题1: Spire.XLS 能否转换大型 TXT 文件?
可以,该Python Excel 库针对性能进行了优化,可以高效处理大型文件。但是,请确保您的系统有足够的内存来处理超大数据集(如数百万行)。为获得最佳效果,请分块处理数据或使用批处理操作。
问题 2:能否使用 Spire.XLS 将 Excel 转换回 TXT?
可以,Spire.XLS 可读取 Excel 单元格并将其值写入文本文件。可点击该文章获取详细教程: 用 Python 将 Excel 转换为 TXT文件
问题3:如何处理转换过程中的编码问题?
本示例中的文本文件使用了utf-8 编码,对于其他编码类型可以通过修改encoding参数来指定:
# GBK编码
with open("示例.txt", "r", encoding='gbk') as file:
lines = file.readlines()
# GB2312编码
with open("示例.txt", "r", encoding='gb2312') as file:
lines = file.readlines()
# UTF-16编码
with open("示例.txt", "r", encoding='utf-16') as file:
lines = file.readlines()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。