篩選出不在目標目錄中的檔案

2021-09-26 21:15:11 字數 2083 閱讀 8074

import os

import numpy as np

import pandas as pd

import shutil

#os 和 shutil都是python自帶模組不用安裝

file_path=

'g:\\360movedata\\users\administrator\\desktop\\曲線資料'

#被篩選檔案所在路徑

filename_path=

'g:\\360movedata\\users\\administrator\\desktop\\qw.xlsx'

#目標檔名稱列表

houzhuijiaxiaoshudianweishu=

4#這裡要更改目標檔案的字尾名加上乙個小數點的位數 例子.xlsx 對應的位數為5

filelist=os.

listdir

(file_path)

#獲取被篩選資料夾中的被篩選檔名稱

file_name=pd.

read_excel

(filename_path,sheet_name=

'sheet1'

)

#讀取所需檔案列表 將目標檔名讀取並儲存在file_name中

#讀入excel資料是乙個dataframe格式資料 需要轉換成list

file_name=file_name.iloc[0:

190,0:

1]#取第一列的固定行數,儲存的是目標檔案名列形式

file_name

file_name = np.

array

(file_name)

#np.

ndarray()

file_name=file_name.

tolist()

print

(file_name)

#list

#這裡的list是[[1

],[2

],[3

],[4

]]需要轉換成[

1,2,3]b=

for i in file_name:

for j in i:

b.(j)

file_name=b

#完成轉換n=0

m=0#將被篩選檔名遍歷,依次對照目標檔名組成的列表

for file in filelist :

olddir=os.path.

join

(file_path,file)

print

(olddir)

#如果被篩選當前個體檔名存在於目標名單,將把該檔案複製到目標資料夾(結果)

file_quhouzhui = file[

:-houzhuijiaxiaoshudianweishu]

if file_quhouzhui in file_name :

print

(file,

'在目標目錄中'

) n = n+

1continue

else:f

="g:\\360movedata\\users\administrator\\desktop\\不含無perm的曲線資料"

#新資料夾名稱(先建好)用於存放結果檔案

newdir=os.path.

join(f

,file)

#file是乙個帶有檔案型別字尾的字串,與f連線起來生成新的儲存路徑

shutil.

copy

(olddir,newdir)

#複製到新資料夾中 shutil.

copy

(檔案1,檔案2

):拷貝檔案和許可權都進行copy。把1拷貝給2

print

(file,

'不在目標目錄中'

) m=m+

1print

('不在目錄的檔案數'

,m)print

('在目錄的檔案數'

,n)var foo =

'bar'

;

複製源目錄最近的檔案到目標目錄

現狀 資料庫每天 周 備份不同的全備到不同的資料夾,需要每天拽到我的行動硬碟上。即 執行批處理,自動複製最近的乙個bak檔案到指定目錄 echo offrem 源目錄,最後不帶斜槓 setresource path d dbback db hxxl,d dbback db oa,d dbback m...

將目標目錄及其子目錄下的相同字尾檔案合併到同一檔案

資料分析中,需要合併多個相同檔案。但是不是子統一子目錄下,或者會出現其他型別檔案。import os defsearch file start dir,target os.chdir start dir for each file in os.listdir os.curdir if each fi...

Shell遍歷目標目錄和子目錄下的所有檔案

bin bash function getdir root dir opt datas getdir root dir e 判斷物件是否存在 d 判斷物件是否存在,並且為目錄 f 判斷物件是否存在,並且為常規檔案 l 判斷物件是否存在,並且為符號鏈結 h 判斷物件是否存在,並且為軟鏈結 s 判斷物件...