1.目的
在一个文件夹中有很多文件,如下:
根据另一个Excel文件提供的文件名,提取特定的文件至一个新的文件夹中:
文件名列表:
即将文件35.xlsx和36.xlsx文件提取至新的文件夹中。
2.代码实现
import os
import pandas as pd
import shutil
#%%
df = pd.read_excel(r'./name.xls')
file_name = df['name']
file_num = len(file_name)
# print(file_num)
file_path = r'./file path/'#注意/
save_path = r'./new file path/'#注意/
filenames = os.listdir(file_path)
#read all lake file
for filename in filenames:
old_dir = os.path.join(file_path,filename)
for i in range(file_num):
if str(df['name'][i]) in filename:
new_dir=os.path.join(save_path,filename)
shutil.copy(old_dir,new_dir)
else:
continue
print('done!')
shutil.copyfile(src, dst):复制文件内容(不包含元数据)从src到dst。
更新:
import os
import pandas as pd
import shutil
df = pd.read_csv(r'./name list.csv')
file_path = r'./file path/'
save_path = r'./save path/'
for filename in os.listdir(file_path):
old_dir = os.path.join(file_path, filename)
for i in range(len(df)):
if (str(df['name'][i]) == filename.split('.')[0]):
new_dir = os.path.join(save_path, filename)
shutil.copy(old_dir, new_dir)
print('the file:% has been moved!'%filename)
else:
continue
print('done!')