Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

FokalXL

A data ingestion and transformation system built to handle messy, real-world spreadsheet workflows.


🧠 Overview

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.


📦 V1 — ExcelBatchMerge (Foundation)

What it was

ExcelBatchMerge was the first version of this system.

A lightweight Python tool designed to solve a very specific pain point:

combining multiple .xlsx files into one dataset without manual copy-paste


🚀 Capabilities

  • Batch scan and merge Excel .xlsx files 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

⚙️ Workflow

  1. Scan a folder for .xlsx files
  2. Prompt user for output configuration
  3. Merge all files into a single workbook
  4. Save locally

🔐 Privacy First

  • No API calls
  • No cloud dependencies
  • No data collection

Everything runs locally.


⚠️ Limitations (by design)

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


🚀 V2 — FokalXL (Evolution)

What changed

FokalXL expands the scope from:

“Combine files”

to:

“Understand, clean, and reshape data before combining”


🔥 Core Upgrades

1. Header Control

  • Select exact header row (not assumed row 1)
  • Combine multi-row headers
  • Handle real-world messy file structures

2. Column Targeting

  • Import:
    • all columns
    • specific ranges
    • explicit column selections
  • No more rigid structure requirements

3. Column Mapping Layer

  • Rename columns before import
  • Assign meaning (roles like ID, Date, Owner)
  • Prepare data for joins and downstream systems

4. Data Preview

  • Inspect raw file before committing import
  • Validate structure visually

5. Join Engine

  • Combine datasets using:
    • inner
    • left
    • right
    • full joins
  • Auto-detect matching column names

6. Export Layer

  • Clean output as CSV
  • Structured and ready for downstream use

🧠 What V2 Solves

V1 solved:

merging files

V2 solves:

messy data pipelines


🎨 UI Mockup (Fokalview Design)

A full UI mockup is included in this repository.

Purpose:

  • Define the visual direction of the tool
  • Align with Fokalview branding
  • Guide future product development

Design System:

  • Charcoal / Cream base for clarity
  • Burnt Orange for actions
  • Minimal, grid-based layout
  • Focus on readability and workflow

⚙️ Run the Python App

pip install -r requirements.txt
streamlit run fokalxl_streamlit.py

🧰 Requirements

  • Python 3.7+
  • pandas
  • streamlit
  • openpyxl
  • xlrd (optional for older .xls files)

📦 Use Cases

  • Finance teams consolidating monthly reports
  • Analysts combining inconsistent exports
  • Researchers merging batch datasets
  • Developers preparing data for pipelines

🔮 Roadmap

V3

  • Box API integration (direct ingestion)
  • Saved import schemas

V4

  • Automated workflows (scheduled runs)
  • Multi-file stacking

V5

  • Full product interface (React + backend system)

👤 Creator

Mikal Brown
Fokalview


🧠 Final Note

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."

About

A method to import from Box to Excel for Python

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages