斯丢彼得 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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改