㈠ Python辦公自動化:批量重命名PDF文件
客戶從打單系統導出商單發票的PDF文件,由於命名錯誤,文件名應為純數字的「服務商單號」,而非「客戶商單號」。面對數量龐大的文件,手動修改費時且不優雅。幸運的是,客戶提供了一個Excel表,其中列出了「客戶單號」對應的「服務商單號」,實現一一對應替換成為可能。利用Python字典的kv替換功能,將Excel中的數據結構映射到文件名修改中,簡化了操作過程。
在人工替換方法中,操作者需打開文件夾,使用Ctrl+F在Excel中查找與替換客戶單號與服務商單號。這種方法雖然直觀,但耗時且效率低。Python代碼實現則更加自動化,通過讀取Excel文件,提取「客戶單號」和「服務商單號」,並根據字典進行替換。讀取PDF文件名稱,與Excel表中的數據進行對比,如果匹配,則修改文件名並添加「.pdf」後綴。
代碼實現中,使用Pandas庫讀取Excel數據,os庫進行文件重命名操作。首先創建PdfRenamer類,初始化方法接收Excel文件路徑、PDF文件夾路徑和Excel表中兩列名稱。讀取Excel文件時,將數據存儲為DataFrame,並確保數據類型轉換為字元串,便於後續處理。重命名PDF文件的核心方法遍歷PDF目錄,比較文件名與Excel表數據,實現替換。
PdfRenamer類包含三個方法:初始化、讀取Excel內容和批量重命名PDF文件。初始化方法設置數據存儲屬性和讀取Excel文件方法,確保數據類型轉換為字元串,提高後續操作的准確性。重命名PDF文件方法在讀取數據後,通過循環處理目錄中的每個文件,利用Excel表數據進行匹配和替換。最後,輸出完成消息,確認操作成功。
在主函數中,實例化PdfRenamer類,指定Excel文件、PDF文件夾路徑和表列名,調用重命名方法即可實現自動替換操作。整個代碼流程清晰,自動化程度高,減少了人工操作的繁瑣性,提高了效率。