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

如何修改Python代码批量处理指定文件夹文件并按原名保存结果?

批量处理文件夹中所有TXT文件并保存为同名Excel文件

以下是修改后的完整代码,实现批量处理指定文件夹内的所有TXT文件,并将结果以原文件名保存为Excel文件:

import pandas as pd
import os

# 指定要处理的文件夹路径
target_folder = r'C:\Users\youngrakchoi\Desktop'

# 遍历文件夹中所有.txt文件
for filename in os.listdir(target_folder):
    if filename.endswith('.txt'):
        # 构建完整的文件路径
        file_path = os.path.join(target_folder, filename)
        
        # 提取不带后缀的文件名,用于生成输出Excel文件名
        base_name = os.path.splitext(filename)[0]
        
        try:
            # 读取TXT文件(保留原读取逻辑)
            df = pd.read_fwf(file_path, sep='')
            
            # -------My code--------#
            # 此处保留你原有的数据处理代码,最终生成VOLTAGE_fin DataFrame
            # 示例:VOLTAGE_fin = df[['指定列']].copy()  # 替换为你的实际处理逻辑
            
            # 保存结果为同名Excel文件
            output_path = os.path.join(target_folder, f'{base_name}.xlsx')
            VOLTAGE_fin.to_excel(output_path, index=False)
            
            print(f'已完成处理:{output_path}')
        except Exception as e:
            print(f'处理文件{filename}时出错:{str(e)}')

关键逻辑说明

  • 导入os模块:用于遍历文件夹、拼接文件路径和处理文件名,是批量文件处理的核心工具。
  • 指定目标文件夹:将固定路径改为变量target_folder,后续更换处理目录时只需修改这一行。
  • 筛选TXT文件:通过endswith('.txt')过滤文件类型,避免误处理非TXT文件。
  • 提取基础文件名:os.path.splitext(filename)[0]会去除文件后缀,例如将data.txt转换为data,确保输出Excel文件与原文件同名。
  • 异常处理:加入try-except块,单个文件处理失败时不会中断整个脚本,同时打印错误信息便于排查问题。

可选简化方案:用glob匹配文件

如果觉得os.listdir加判断繁琐,可以用glob模块直接匹配所有TXT文件,代码更简洁:

import pandas as pd
from glob import glob
import os

target_folder = r'C:\Users\youngrakchoi\Desktop'

# 直接获取所有TXT文件的完整路径
for file_path in glob(os.path.join(target_folder, '*.txt')):
    base_name = os.path.splitext(os.path.basename(file_path))[0]
    
    try:
        df = pd.read_fwf(file_path, sep='')
        
        # -------My code--------#
        # 你的数据处理代码
        
        output_path = os.path.join(target_folder, f'{base_name}.xlsx')
        VOLTAGE_fin.to_excel(output_path, index=False)
        
        print(f'已完成处理:{file_path}')
    except Exception as e:
        print(f'处理{file_path}失败:{str(e)}')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:06:19