Python - 根据 excel 文件将多个文件从多个位置复制到一个文件夹

Python - Copy several files from several locations to one folder based on a excel file

美好的一天

我们需要将数据从一台服务器复制到另一台服务器进行迁移。我收到了一份 Excel 列表,其中包含以下列。

必须复制所有包含的文件。不幸的是,应该复制文档的新路径也应该写入 DataFrame,最后整个应该导出为 CSV。

导出没问题。

但是我的循环有问题。 在我的想象中:

我有一个基本的目标路径 - 我按行工作 - 我使用文件路径复制文件 - 我在数据框中的新路径中添加 "destination path + file name" - 在下一行重复

所以我开始:

import os
import glob
import shutil
import numpy as np
import pandas as pd

Docdf = pd.read_excel('S:\Test_MSC.xlsx')

destpath = 'S:\Test_dest\'

for f in Docdf:
[...] *problem*

Docdf .to_csv("enchanced_file.csv", sep = ";", encoding = "utf-8")

如何最好地构建循环? 非常感谢支持

for f in Docdf: 是错误的,它将遍历 列名 。您需要遍历行或只使用 apply 方法:

from shutils import copyfile

def copying(row):
    oldpath = row[4] # column E
    newpath = destpath + row[1] # column B
    copyfile(oldpath, newpath)
    return newpath

Docdf['new_path'] = Docdf.apply(copying, axis=1)