从CSV读取文件名,然后将文件复制到不同的目录第2部分

2024-04-20 06:58:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python代码,它将读取csv并在阅读后查找目录中的文件,然后将文件移动到目标文件夹。我使用的是python3.6。在

我有同样的问题,在这里的代码中定义:Read filenames from CSV and then copy the files to different directory

我尝试了there方法,但当我运行这段代码时,它显示not这样的文件或目录

下面是我修改的代码,在他们使用agrv的代码中,但我定义了路径。。。在

import os
import shutil
import csv
import sys

csv_file = "maharera.csv"
existing_path_prefix = "D:\maharera"
new_path_prefix = "D:\movement"

with open(csv_file, 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        filename = row[0]
        filepath = row[1]

        new_filename = os.path.join(new_path_prefix, filename)
        shutil.copy(filepath, new_filename)

我试图将文件从d驱动器移动到驱动器,但在不同的文件夹,但文件应该从csv文件相同。。在

CSV附在这里https://www.dropbox.com/s/0t9skcuje6jyew1/maharera.csv?dl=0

在csv中有两列,一列是文件名,另一列是当前目的地,它们现在保存在哪里。。。在

代码中提到了新的目的地


Tags: 文件csvpath代码import目录文件夹new
1条回答
网友
1楼 · 发布于 2024-04-20 06:58:02

在你的代码中发现了两个错误。在

  1. 包括csv文件的头/第一行。

  2. 您正在尝试复制文件的文件夹而不是文件本身。

为了避免错误,您可以尝试

with open(csv_file, 'r') as f:
    reader = csv.reader(f)
    for i, row in enumerate(reader):
        if i == 0:
            pass    # Skip header row
        else:
            filename, filepath = row
            new_filename = os.path.join(new_path_prefix, filename)
            old_filename = os.path.join(filepath, filename)
            shutil.copy(old_filename, new_filename)

相关问题 更多 >