Python 实现Excel (XLS 或 XLSX) 与TXT文本格式互转

目录

引言

安装Python库

使用Python将Excel转换为TXT文本格式

使用Python将TXT文本格式转换为Excel


引言

Excel和TXT是常见的数据处理和存储格式,它们在不同的应用场景中发挥着重要的作用。Excel具有丰富的功能,包括数据计算、数据分析和图表制作等,被广泛应用于各种数据处理领域。而TXT则是一种简单的纯文本文件格式,以纯文本形式存储数据,不包含格式、公式或特定的数据结构。由于TXT文本格式的简洁性和通用性,它在数据交换和存储方面扮演着重要的角色。

将Excel数据转换为TXT文本格式可以方便地在其他系统或程序中使用数据,而将文本数据转换为Excel格式则可以方便进一步的数据处理和分析,提高工作效率和数据质量。这篇文章将介绍如何使用Python实现Excel XLS或XLSX格式与TXT文本格式互转

安装Python库

要在Python中实现Excel与TXT文本格式互转,我们可以使用Spire.XLS for Python库。它可以通过以下pip命令安装:

pip install Spire.Xls

使用Python将Excel转换为TXT文本格式

要将Excel工作表转换为TXT文本格式,可以使用Worksheet.SaveToFile()方法。以下是详细步骤:

  1. 创建Workbook对象。
  2. 使用Workbook.LoadFromFile()加方法加载Excel文件,可以是以.xls或.xlsx结尾的文件。
  3. 使用Workbook.Worksheets[index] 属性获取特定工作表。
  4. 使用Worksheet.SaveToFile()方法将工作表保存为TXT文本文件并指定数据分隔符。

完整代码:

from spire.xls import *
from spire.xls.common import *

# 创建Workbook对象并加载Excel文件,文件的后缀可以是.xls或.xlsx
workbook = Workbook()
workbook.LoadFromFile('通讯录.xlsx')

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

# 将工作表保存为TXT文本文件,以制表符(\t)作为数据分隔符(你也可以使用其他的符号作为数据分隔符,例如空格或逗号)
sheet.SaveToFile('Excel转TXT.txt', '  ', Encoding.get_UTF8())

workbook.Dispose()

Python将Excel转换为TXT文本格式

使用Python将TXT文本格式转换为Excel

要将文本文件转换为 Excel格式,可以通过从文本文件读取数据,拆分数据,然后将数据写入 Excel文件来实现。以下是详细步骤:

  1. 读取文本文件数据:
    • 使用open()函数打开指定文本文件。
    • 使用readlines()方法逐行读取文本文件内容并存储在列表中。
  2. 拆分数据:
    • 将读取的每行文本数据进行处理,去除首尾空白字符并按制表符(\t)拆分为子字符串。将生成的子字符串存储在列表中。
  3. 创建Workbook对象,用于存储数据。
  4. 使用Workbook.Worksheets[0]属性获取第一个工作表。
  5. 遍历列表中的数据,通过Worksheet.Range[rowIndex, columnIndex].Value属性将列表中的数据填充到工作表的单元格中,并设置字体和格式。
  6. 使用Worksheet.AllocatedRange.AutoFitColumns()方法自动调整工作表中的列宽。
  7. 使用Workbook.SaveToFile()将方法结果保存为Excel文件。

完整代码:

from spire.xls import *
from spire.xls.common import *

# 打开文本文件并逐行读取数据
with open('销售数据.txt', 'r') as file:
    lines = file.readlines()

#将读取的每行文本数据进行处理,去除首尾空白字符并按制表符(\t)拆分为子字符串。将生成的子字符串存储在列表中
data = [line.strip().split('\t') for line in lines]

# 创建Workbook对象
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[row_num + 1, col_num + 1].Style.Font.FontName = '宋体'
        sheet.Range[row_num + 1, col_num + 1].Style.Font.Size = 12
        # 将标题行的字体设置为粗体
        sheet.Range[1, col_num + 1].Style.Font.IsBold = True

# 根据单元格内容自动调整表格列宽
sheet.AllocatedRange.AutoFitColumns()

# 保存结果为Excel XLSX文件
workbook.SaveToFile('Text转Excel.xlsx', ExcelVersion.Version2016)
# 或者保存结果为Excel XLS文件
# workbook.SaveToFile('TextToExcel.xls', ExcelVersion.Version97to2003)
workbook.Dispose()

Python将TXT文本格式转换为Excel

注意:在此示例中,我们的文本文件中的数据列是以制表符(\t)进行分隔的,如果你的数据是使用其他分隔符分隔的,相应地调整split()函数即可。

本文完-

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Python可以通过使用不同的库来实现各类文件格式之间的转换。以下是一些常用的库和示例代码: 1. 将文本文件转换为PDF: ```python from fpdf import FPDF def text_to_pdf(input_file, output_file): pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) with open(input_file, "r") as file: for line in file: pdf.cell(0, 10, txt=line, ln=True) pdf.output(output_file) input_file = "input.txt" output_file = "output.pdf" text_to_pdf(input_file, output_file) ``` 2. 将Word文档转换为PDF: ```python from docx2pdf import convert input_file = "input.docx" output_file = "output.pdf" convert(input_file, output_file) ``` 3. 将图片文件转换为PDF: ```python from PIL import Image def images_to_pdf(input_files, output_file): images = [] for file in input_files: image = Image.open(file) images.append(image.convert("RGB")) images.save(output_file, save_all=True, append_images=images[1:]) input_files = ["image1.jpg", "image2.png"] output_file = "output.pdf" images_to_pdf(input_files, output_file) ``` 4. 将Excel文件转换为PDF: ```python import pandas as pd from fpdf import FPDF def excel_to_pdf(input_file, output_file): df = pd.read_excel(input_file) table = df.to_html(index=False) pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) pdf.write_html(table) pdf.output(output_file) input_file = "input.xlsx" output_file = "output.pdf" excel_to_pdf(input_file, output_file) ``` 请根据你的需求选择适合的库和代码进行文件格式转换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值