Python 实现Excel和TXT文本格式之间的相互转换
cnblogs 2024-07-22 15:09:00 阅读 73
Excel是一种具有强大的数据处理和图表制作功能的电子表格文件,而TXT则是一种简单通用、易于编辑的纯文本文件。将Excel转换为TXT可以帮助我们将复杂的数据表格以文本的形式保存,方便其他程序读取和处理。而将TXT转换为Excel则可以将文本文件中的数据导入到Excel中进行进一步的分析和处理。
本文将介绍如何使用Python并结合相关库来实现 Excel 转 TXT 文本文件,以及将TXT文本数据导入Excel文件。
- Python 将 Excel 转换为TXT文本文件
- Python 将TXT文本数据导入到 Excel 文件
安装第三方Python库-Spire.XLS for Python。可以下载产品后再从本地路径安装使用,也可以直接使用以下pip命令安装:
pip install Spire.XLS
Python 将 Excel 转换为TXT文本文件
将 Excel 工作表转换为 TXT 文本格式使用到的主要方法是 Worksheet.SaveToFile(fileName: str, separator: str, encoding: Encoding) 方法。 我们可以指定所需的输出文件名、分隔符(如逗号、制表符、分号等)和编码格式(如UTF-8、Unicode、ASCII 等)。
Excel XLS/XLSX 格式转 TXT 文件的 Python示例代码如下:
from spire.xls import *
from spire.xls.common import *
# 加载一个.xls或.xlsx文件
workbook = Workbook()
workbook.LoadFromFile("报价.xlsx")
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 将工作表另存为txt文本文件
sheet.SaveToFile("Excel转TXT文本.txt", " ", Encoding.get_UTF8())
workbook.Dispose()
效果图:
Python 将TXT文本数据导入到 Excel 文件
要使用 Spire.XLS for Python 实现 TXT 文本文件到 Excel 的转换,我们需要先逐行读取文本文件中的数据,去除首尾空白字符,然后使用 split() 方法通过分隔符分割数据并存储到一个列表中,最后将列表中的数据填充到相应的Excel单元格中。
读取TXT 文本数据写入Excel XLS/ XLSX 文件的 Python 示例代码如下:
from spire.xls import *
from spire.xls.common import *
# 逐行读取TXT文本文件
with open("Excel转TXT文本.txt", "r", encoding='utf-8') as file:
lines = file.readlines()
# 去除每一行文本数据的首尾空白字符,然后以空格为分隔符分割数据并储存到列表中
data = [line.strip().split(" ") for line in lines]
# 创建Excel工作簿
workbook = Workbook()
# 获取第一张工作表
sheet = workbook.Worksheets[0]
# 遍历列表中的每一行和列,将数据填充到相应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
# 自动调整列宽
sheet.AllocatedRange.AutoFitColumns()
# 保存为.xlsx(或.xls)文件
workbook.SaveToFile("TXT转Excel.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
效果图:
Spire.XLS for Python库支持多种Excel转换功能,如Excel 和 CSV相互转换、Excel 转 PDF、Excel 转图片、Excel 转 HTML以及Excel转XML等。 点击查看更多示例:
https://www.e-iceblue.cn/xlsforpython/spire-xls-for-python-program-guide-content.html
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。