最近因为项目要求写了一个处理Excel的脚本,要求将所需的Excel文件,在大的文件夹中提取出来。
代码如下:
其中注意要求的文件名表头为name
我数据和要求如下:在文件夹中找出下面的文件,并将其移到相对应的文件夹中。
import os
import numpy as np
import pandas as pd
import shutil
file_path='F:/合并测试/08_20_31_trans' #文件路径
filename_path='F:/合并测试/新建 XLSX 工作表.xlsx' #文件列表
filelist=os.listdir(file_path) #获取文件夹中的文件名称
file_name=pd.read_excel(filename_path) #读取所需文件列表
for file in filelist:
m=file_name.shape[0] #表格的行数
olddir=os.path.join(file_path,file) #每一个文件路径
flag = False
for i in range(m):
if str(file_name['name'][i]) in file: #寻找对应的文件名
F="F:/合并测试/第三场专采作业区/" #新文件夹名称(先建好)
if not os.path.exists(F):
os.mkdir(F)
shutil.move(olddir,F) #移动到新文件夹中
print(file) #打印出文件名,其实我是为了看它是不是在运行
flag = True
break
if flag == False:
print("file can not find well :"+file)
file_name.to_excel('file_name_count.xlsx') #保存新的文件列表