Python - 基于excel文件将多个文件从多个位置复制到一个文件夹。

问题描述 投票:-1回答:1

好日子

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

Simple Example of the Strucure

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

导出是没有问题的。

但是我在循环方面有问题,在我的想象中。

我有一个基本的目标路径--每行工作--用文件路径复制文件--在数据框架的新路径中添加 "目标路径+文件名"--下一行重复。

所以我先从。

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")

我如何才能最好地建立起这个循环? 谢谢你的支持!

python excel dataframe shutil
1个回答
1
投票

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)
© www.soinside.com 2019 - 2024. All rights reserved.