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

如何多次运行Python脚本分批将TXT文件转换为CSV(每次10个)

分批次处理TXT转CSV的实现方案

首先修正原代码的语法错误:原代码中df.to_csv(f'{filename}.csv,header=None,index=False')存在字符串闭合错误,正确写法应为df.to_csv(f'{filename}.csv', header=None, index=False),否则会触发语法报错。

要实现每次运行处理10个文件、多次运行按顺序分批的需求,核心是通过一个状态文件记录已处理的文件数量,每次运行读取状态并计算当前要处理的批次范围。具体实现代码如下:

import pandas as pd
import pathlib

# 配置参数
FOLDER_PATH = pathlib.Path("folderpathtotxtfiles")
BATCH_SIZE = 10
STATUS_FILE = FOLDER_PATH / "processed_count.txt"

def create_csv(filename):
    try:
        df = pd.read_csv(filename, sep='\s+', on_bad_lines='skip')
        # 修正原代码的字符串拼接错误
        df.to_csv(f"{filename}.csv", header=None, index=False)
    except Exception as e:
        print(f"{filename} 处理失败:{str(e)}")

def get_processed_count():
    """读取已处理文件数量,不存在则返回0"""
    if STATUS_FILE.exists():
        with open(STATUS_FILE, 'r') as f:
            try:
                return int(f.read().strip())
            except ValueError:
                return 0
    return 0

def update_processed_count(count):
    """更新已处理文件数量到状态文件"""
    with open(STATUS_FILE, 'w') as f:
        f.write(str(count))

if __name__ == "__main__":
    # 获取所有TXT文件并排序,保证处理顺序稳定
    all_txt_files = sorted(FOLDER_PATH.glob('*.txt'))
    total_files = len(all_txt_files)
    
    processed_count = get_processed_count()
    # 计算当前批次的文件范围
    start_idx = processed_count
    end_idx = min(start_idx + BATCH_SIZE, total_files)
    
    if start_idx >= total_files:
        print("所有文件已处理完毕")
    else:
        batch_files = all_txt_files[start_idx:end_idx]
        print(f"开始处理第 {start_idx+1}-{end_idx} 个文件,共 {len(batch_files)} 个")
        
        for filename in batch_files:
            create_csv(filename)
        
        # 更新已处理数量
        update_processed_count(end_idx)
        print(f"本次处理完成,已累计处理 {end_idx} 个文件")

关键逻辑说明:

  • 状态文件:processed_count.txt会自动创建在目标文件夹中,记录已处理的文件总数,每次运行前读取该数值确定起始位置。
  • 文件排序:用sorted()对TXT文件排序,确保每次运行时文件顺序一致,避免重复处理或遗漏。
  • 批次计算:每次取[已处理数, 已处理数+10]范围内的文件,若剩余文件不足10个则处理剩余全部。
  • 错误处理:扩展了异常捕获,输出具体错误信息,便于排查问题。

使用方式:

  1. 替换FOLDER_PATH为你的TXT文件所在路径。
  2. 每次运行脚本,会自动处理下一批10个文件;重复运行直到提示"所有文件已处理完毕"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:30:08