You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python(openpyxl)将多个TXT文件内容导入单个Excel不同工作表?

使用openpyxl将多个TXT文件导入单个Excel工作簿的不同工作表

以下是针对需求的实现方案,基于你提供的TXT文件示例,用openpyxl完成多文件对应多工作表的导入:

实现步骤

  • 导入openpyxl库用于Excel操作,os库用于文件遍历
  • 创建新的Excel工作簿对象
  • 为每个TXT文件创建对应名称的工作表
  • 读取TXT文件内容,拆分每行数据并写入对应工作表
  • 保存最终的Excel文件

代码示例

import openpyxl
import os

# 创建新工作簿
wb = openpyxl.Workbook()
# 删除默认生成的空白Sheet(可选,避免多余工作表)
wb.remove(wb['Sheet'])

# 指定TXT文件所在目录(当前目录填'.'即可)
txt_dir = '.'
# 获取目录下所有TXT文件
txt_files = [f for f in os.listdir(txt_dir) if f.endswith('.txt')]

for txt_file in txt_files:
    # 提取文件名作为工作表名称(去掉.txt后缀)
    sheet_name = os.path.splitext(txt_file)[0]
    # 创建对应工作表
    ws = wb.create_sheet(title=sheet_name)
    
    # 读取TXT文件内容
    file_path = os.path.join(txt_dir, txt_file)
    with open(file_path, 'r', encoding='utf-8') as f:
        lines = f.readlines()
    
    # 逐行处理并写入数据
    for row_idx, line in enumerate(lines, start=1):
        # 去除换行符,按空格拆分数据(如果是制表符分隔,改为split('\t'))
        data = line.strip().split()
        # 写入单元格,数字自动转为数值类型
        for col_idx, value in enumerate(data, start=1):
            try:
                ws.cell(row=row_idx, column=col_idx, value=int(value))
            except ValueError:
                ws.cell(row=row_idx, column=col_idx, value=value)

# 保存Excel文件
wb.save('txt_to_multi_sheet.xlsx')

额外说明

  • 代码会自动遍历指定目录下的所有TXT文件,每个文件对应一个工作表,表名与TXT文件名一致
  • 若不需要批量遍历,可手动指定文件列表,比如txt_files = ['file1.txt', 'file2.txt', 'file3.txt']
  • 支持自定义分隔符,只需修改split()的参数即可适配不同格式的TXT文件

内容的提问来源于stack exchange,提问作者rose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:20:52