Smart File Renamer is a graphical tool that automatically renames and organizes files based on an Excel mapping table.
It’s part of the EngiKitDev suite — open-source tools designed for engineers and developers who work with structured file sets (e.g., CAD drawings, measurement reports, or lab results).
- Select a source folder with files to rename.
- Provide an Excel file containing mapping between codes and descriptions.
- Define which characters (from–to) in filenames should be treated as a key.
- Preview all changes before confirming.
- Optionally copy unmatched files.
- Save renamed files into a new destination folder.
- Each file name (e.g.
AB12_measurement.pdf
) contains a short key code such asAB12
. - In Excel, you prepare a simple 2-column mapping table, for example:
Code | Description |
---|---|
AB12 | Pump calibration |
CD34 | Pressure test |
EF56 | Flow analysis |
-
The app reads your Excel file and matches filenames by the specified range of characters.
-
The renamed file will look like:
AB12_Pump calibration.pdf
CD34_Pressure test.pdf
-
All renamed (and optionally unmatched) files are copied into a new destination folder.
Suppose you have 100 measurement PDFs named:
01_report.pdf
02_report.pdf
03_report.pdf ...
And your Excel file codes.xlsx
contains:
Code | Description |
---|---|
01 | Flow sensor data |
02 | Pressure calibration |
03 | Final inspection |
You want to rename the files using the first two characters as the code.
Run the app, set:
- Source folder: your PDF folder
- Excel mapping file:
codes.xlsx
- Character range: from
1
to3
(Python uses 0-based indexing internally, the app adjusts automatically) - Destination folder name:
RenamedReports
After preview and confirmation, you’ll get a new folder with:
01_Flow sensor data.pdf
02_Pressure calibration.pdf
03_Final inspection.pdf
- Python 3.8+
- Libraries:
pandas
,openpyxl
,tkinter
(included with Python)
git clone https://github.com/YOUR_USERNAME/SmartFileRenamer.git
cd SmartFileRenamer
python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\activate
pip install -r requirements.txt
python engikit_SmartFileRenamer.py
A window will appear where you can:
- Select source and destination folders
- Load your Excel file
- Set the character range and options
- Preview results before applying
Note: This is a GUI (tkinter) application — run it in a desktop environment (Windows/macOS/Linux with display). GitHub Codespaces cannot display tkinter windows.
- engikit_SmartFileRenamer.py — main Python script (GUI)
- requirements.txt — dependency list
- README.md — this file
- LICENSE — MIT License
- Open an Issue describing a bug or feature idea.
- Fork the repo and submit a Pull Request.
- Tag beginner-friendly tasks with good first issue.
MIT — see the LICENSE file.