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)
美好的一天
我们需要将数据从一台服务器复制到另一台服务器进行迁移。我收到了一份 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)