簡體   English   中英

從多個文件夾批量提取並重命名csv文件-Python

[英]Batch extract and rename csv files from multiple folders - Python

我在一個目錄中有350個文件夾,其中所有文件夾都包含兩個名為“證書”和“建議”的csv文件。 我想將每個“ certificates.csv”文件移動到一個新文件夾中,還要在此過程中更改這些.csv文件的名稱,添加索引號作為后綴,這樣它們就不會彼此覆蓋,即“ certificates1”,“ certificate2“ ....” certificates350“等。

嘗試將所有文​​件移動到一個文件夾時,我設法做到了:

import os
import shutil
src_dir = "C:/IN"
dst_dir = "C:/OUT"
for root, dirs, files in os.walk(src_dir):
    for f in files:
        if f.endswith('.csv'):
            shutil.copy(os.path.join(root,f), dst_dir)

但是,所有操作都是在文件中相互覆蓋,因為它們都具有相同的名稱-“ certificates.csv”

只需檢查文件是否存在並增加一個計數器,直到文件名可用即可:

for root, dirs, files in os.walk(src_dir):
    for f in files:
        if f.endswith('.csv'):
            index = 0
            while True:        
                new_path = os.path.join(dst_dir, str(index) + f)
                if os.path.isfile(new_path):
                    index += 1
                    continue

                shutil.copy(os.path.join(root, f), new_path)
                break

如果要使用后綴而不是文件的前綴,則應從擴展名中拆分名稱,添加數字,然后再次加入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM