Combine Files GUI is a desktop Tkinter application for:
- Combining multiple CSV files into one CSV
- Combining multiple Excel files into one workbook (one sheet per file)
- Merging multiple PDFs into one PDF
- Converting a PDF to a Word document
- Creating a daily report PDF from the two most recent PDFs in Downloads
-
Combine Files
- CSV: Appends rows from selected files.
- Excel: Writes each selected file to a new sheet.
- PDF: Merges all pages in selected order.
-
Convert PDF To Word
- Converts a PDF to .docx using pdf2docx.
-
Combine Daily Report
- Finds the two newest PDFs in your Downloads folder.
- Merges them into a daily report PDF.
- Saves the merged PDF to Downloads.
- Copies the merged PDF to your configured Financial Reports folder.
- Python 3.9+
- tkinter (usually included with Python)
- Dependencies listed in
requirements.txt:- pandas
- PyPDF2
- pdf2docx
- openpyxl
- Clone this repository:
git clone https://github.com/theOrganizedMind/combine_files_gui.git
cd combine_files_gui- Install dependencies:
pip install -r requirements.txtThe app reads configuration in this order:
- json_files/combine_files_config.json
- combine_files_config.json (repository root)
If the file under json_files exists, it is used first. If it does not exist, the root config file is used.
This lets you keep private values in a local, ignored config while keeping a safe public template in the repository root.
Use this structure in combine_files_config.json:
{
"downloads_folder": "",
"financial_reports_folder_template": "C:/Path/To/Financial Reports/{year} Daily Management Report",
"daily_report_filename_template": "TDC Daily Management Report ({date}).pdf"
}Key details:
-
downloads_folder
- Optional.
- If empty, the app defaults to your user Downloads folder.
-
financial_reports_folder_template
- Required for Combine Daily Report.
- Supports placeholders:
- {year} (for example, 2026)
- {date} (for example, 07232026)
-
daily_report_filename_template
- Optional.
- Defaults to TDC Daily Management Report ({date}).pdf
- Supports {date} and {year}.
Run the app:
python combine_files_gui.pyThen use one of the buttons:
- Combine Files
- Convert PDF to Word
- Combine Daily Report
The application uses Python logging and prints informative messages and errors to the console.
- combine_files_gui.py: Main application
- combine_files_config.json: Public config template
- json_files/combine_files_config.json: Optional private/local config
- requirements.txt: Python dependencies
- Fork the repository.
- Create a branch: git checkout -b feature-branch
- Make changes and test locally.
- Commit and push your branch.
- Open a pull request.
This project is licensed under the MIT License. See LICENSE.txt for details.