A data ingestion and transformation system built to handle messy, real-world spreadsheet workflows.
FokalXL is built on a simple truth:
Most Excel files are not clean, structured, or consistent.
Headers are misplaced.
Data starts on the wrong row.
Columns change every month.
Traditional tools assume structure.
FokalXL is built for when structure breaks.
ExcelBatchMerge was the first version of this system.
A lightweight Python tool designed to solve a very specific pain point:
combining multiple
.xlsxfiles into one dataset without manual copy-paste
- Batch scan and merge Excel
.xlsxfiles from a directory - Prompt-based workflow for:
- output file name
- save location
- append vs new worksheet
- Fully local execution (no APIs, no external services)
- Fast and simple automation for repetitive Excel tasks
- Scan a folder for
.xlsxfiles - Prompt user for output configuration
- Merge all files into a single workbook
- Save locally
- No API calls
- No cloud dependencies
- No data collection
Everything runs locally.
V1 intentionally avoided complexity.
- Assumes consistent headers across files
- No validation or column alignment
- No preview or inspection layer
- No handling of messy or inconsistent structures
This version solves:
volume problems
But not:
structure problems
FokalXL expands the scope from:
“Combine files”
to:
“Understand, clean, and reshape data before combining”
- Select exact header row (not assumed row 1)
- Combine multi-row headers
- Handle real-world messy file structures
- Import:
- all columns
- specific ranges
- explicit column selections
- No more rigid structure requirements
- Rename columns before import
- Assign meaning (roles like ID, Date, Owner)
- Prepare data for joins and downstream systems
- Inspect raw file before committing import
- Validate structure visually
- Combine datasets using:
- inner
- left
- right
- full joins
- Auto-detect matching column names
- Clean output as CSV
- Structured and ready for downstream use
V1 solved:
merging files
V2 solves:
messy data pipelines
A full UI mockup is included in this repository.
- Define the visual direction of the tool
- Align with Fokalview branding
- Guide future product development
- Charcoal / Cream base for clarity
- Burnt Orange for actions
- Minimal, grid-based layout
- Focus on readability and workflow
pip install -r requirements.txt
streamlit run fokalxl_streamlit.py- Python 3.7+
- pandas
- streamlit
- openpyxl
- xlrd (optional for older
.xlsfiles)
- Finance teams consolidating monthly reports
- Analysts combining inconsistent exports
- Researchers merging batch datasets
- Developers preparing data for pipelines
- Box API integration (direct ingestion)
- Saved import schemas
- Automated workflows (scheduled runs)
- Multi-file stacking
- Full product interface (React + backend system)
Mikal Brown
Fokalview
This project started as a simple script.
It is now evolving into a system designed to handle:
real-world data chaos
"Let Excel display data. Let systems structure it."