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

如何基于DataFrame路径批量移动文件(支持多目标文件夹)

批量移动文件(基于Pandas DataFrame)

以下是可通用至多目标文件夹的批量文件移动代码,会自动处理目标目录的创建,并包含基础错误处理:

import os
import shutil
import pandas as pd

# 替换为你的实际DataFrame
df = pd.DataFrame({
    'old_path': ['/Users/myname/images/cat/file_0.jpg', '/Users/myname/images/dog/file_1.jpg', '/Users/myname/images/squirrel/file_2.jpg'], 
    'new_path': ['/Users/myname/mydir/file_0.jpg', '/Users/myname/mydir/subdir/file_1.jpg', '/Users/myname/another_dir/file_2.jpg']
})

# 批量处理文件移动
for _, row in df.iterrows():
    old_path = row['old_path']
    new_path = row['new_path']
    
    # 确保目标父目录存在,不存在则创建(支持嵌套文件夹)
    target_dir = os.path.dirname(new_path)
    os.makedirs(target_dir, exist_ok=True)
    
    # 执行移动并捕获异常
    try:
        shutil.move(old_path, new_path)
        print(f"已移动: {old_path} → {new_path}")
    except FileNotFoundError:
        print(f"警告: 源文件不存在 - {old_path}")
    except PermissionError:
        print(f"警告: 无权限操作文件 - {old_path}")
    except Exception as err:
        print(f"处理文件 {old_path} 时出错: {str(err)}")

关键特性说明

  • 多目标文件夹兼容:通过os.makedirs(..., exist_ok=True)自动创建新路径对应的父目录,不管目标是单层文件夹还是嵌套子文件夹都能正常处理。
  • 稳健的错误处理:捕获常见的文件操作异常,单个文件处理失败不会中断整个批量任务,同时输出明确提示便于排查问题。
  • 通用遍历逻辑:用df.iterrows()遍历DataFrame的每一行,直接读取old_path和new_path列的值,无需修改核心逻辑即可适配你的数据结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:50:28