斯丢彼得 2022-12-18 10:20 采纳率: 100%
浏览 67
已结题

Python 做批量处理的问题

一些列不同文件夹

img

在每个文件夹的三级子文件夹中都有同名csv 文件,Defect_CMreport.csv

img

我需要遍历所有文件夹,实现以下功能

  1. 将Defect_CMreport.csv 重命名为“一级文件夹名+二级文件夹前17个字符+Defect_CMreport.csv”
    例如“LE2B029-080104_20221217_13-02-54_Defect_CMreport.csv”

  2. 将所有重命名过的文件统一放在指定的path 下

  • 写回答

4条回答 默认 最新

  • ShowMeAI 2022-12-18 10:37
    关注

    试一下下面的代码实现,里面的路径部分你可以根据实际情况配置一下,有问题可以随时反馈,望采纳

    import os
    
    # 设置要遍历的根文件夹路径
    root_path = '/path/to/root/folder'
    
    # 设置要将重命名后的文件放到的路径
    target_path = '/path/to/target/folder'
    
    # 创建 target_path 文件夹,如果文件夹已存在则不会创建
    os.makedirs(target_path, exist_ok=True)
    
    # 遍历所有文件夹和子文件夹
    for root, dirs, files in os.walk(root_path):
        # 遍历所有文件
        for file in files:
            # 如果文件名是 Defect_CMreport.csv
            if file == 'Defect_CMreport.csv':
                # 获取文件所在的一级文件夹名和二级文件夹名的前 17 个字符
                folder1 = root.split('/')[-2]
                folder2 = root.split('/')[-1][:17]
                # 重命名文件
                new_file_name = folder1 + '_' + folder2 + '_Defect_CMreport.csv'
                # 获取文件的完整路径
                file_path = os.path.join(root, file)
                # 获取重命名后文件的完整路径
                new_file_path = os.path.join(target_path, new_file_name)
                # 重命名文件并移动到指定路径
                os.rename(file_path, new_file_path)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。