斯丢彼得 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 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?