好日子
我们需要将数据从一台服务器复制到另一台服务器进行迁移。我收到了一个Excel列表,其中有以下几列。
所有包含的文件必须被复制。不幸的是,文件应该被复制的新路径也应该被写入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")
我如何才能最好地建立起这个循环? 谢谢你的支持!
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)