📊 merge-xlsx
merge-xlsx is a simple yet powerful CLI tool to merge multiple single-sheet .xlsx files into one workbook.
Built for anyone tired of manually copying and pasting Excel data!
🚀 Why did I build this?
I often found myself with dozens (sometimes hundreds!) of Excel files, each with a single sheet, that needed to be combined into one file for analysis or reporting.
Doing this by hand was tedious, error-prone, and just not fun.
Existing tools were either too complex, required Excel itself, or didn’t handle my use case well.
merge-xlsx solves this with a single command!
⚡️ Features
- 🟢 Merge any number of
.xlsxfiles (single-sheet) into one - 🎨 Beautiful progress bar and colored output (thanks to rich)
- 🏃 Fast and memory-efficient (uses pandas)
- 🐍 Python 3.13+ support
📦 Installation
The recommended way is with pipx:
pipx install merge-xlsx
🛠 Usage
merge-xlsx file1.xlsx file2.xlsx ... -o merged.xlsx
You can use wildcards to select files:
merge-xlsx /path/to/files/*.xlsx -o merged.xlsx
🧩 Edge Cases & Notes
- All input files must have a single sheet.
- All files should have the same columns (otherwise, pandas will fill missing columns with NaN).
- Output file will overwrite if it already exists.
- Large files are supported, but memory usage depends on total data size.
- Files with different encodings or corrupt files may cause errors.
🚧 Possible Improvements
- Option for plain/clear stdout (no rich output)
- Support for multi-sheet files (merge specific sheets)
- Column mapping or reordering
- Output to CSV or other formats
- GUI version
🤝 Contributing
PRs and suggestions are welcome! Please open an issue if you find a bug or have a feature request.
📄 License
MIT © Vinícius Costa
🌟 Star this project if you find it useful
Metadata
Release files for merge-xlsx 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| merge_xlsx-0.1.2.tar.gz | 3.5 kB | Without provenance | Details for merge_xlsx-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| merge_xlsx-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for merge_xlsx-0.1.2-py3-none-any.whl |
Total release size: 7.9 kB
Release files / merge_xlsx-0.1.2.tar.gz
| Download URL | merge_xlsx-0.1.2.tar.gz |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
396f4b17285fd410c61410562c5d6eed12e3124a75e84596918ae7d067258d19
|
|
BLAKE2b-256 checksum How to use checksums |
3404adea56c17fe808cef440a6506791c7790326ae5dd96870ed6778185b04e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.3 Darwin/24.5.0
|
Release files / merge_xlsx-0.1.2-py3-none-any.whl
| Download URL | merge_xlsx-0.1.2-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a90ae60f5b486cb3df63ac941b03bb40250b1536a9e02a115757ade376acf80
|
|
BLAKE2b-256 checksum How to use checksums |
1c23e6459779add5a59ab7e53bd655c792c233db0a11dcf479ff37f8408ac3f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.3 Darwin/24.5.0
|
Security for merge-xlsx 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.