TablePilot is a local-first desktop workbench for turning Excel, CSV, and TXT tables into explainable data profiles, quality scores, analysis plans, and visual summaries.
It modernizes an older Qt statistical analysis project into a hybrid C++/Python portfolio project: the desktop experience is built with Qt/C++, while a Dockerized FastAPI service handles parsing, profiling, planning, report generation, and API-level tests.
Most small spreadsheet utilities assume a fixed table shape or a single demo file. TablePilot is designed for messier real-world files:
- different row and column counts
- Excel, CSV, and TXT inputs
- delimiter detection for text-like tables
- schema inference instead of hard-coded columns
- quality scoring before analysis
- explainable analysis planning instead of opaque output
- Chinese/English desktop UI
TablePilot means a co-pilot for tabular data. It does not try to replace a human analyst; it helps users load unfamiliar tables, understand their structure, spot quality risks, and choose the next useful analysis step.
- Dynamic table parsing for Excel, CSV, and TXT files.
- Schema inference for numeric, date, category, text, empty, and high-cardinality fields.
- Data quality scoring using missing values, duplicates, anomalies, sample size, and analyzability.
- Analysis Planner that recommends next steps based on schema, trends, correlations, and anomalies.
- Desktop-native Qt UI with dynamic preview tables, charts, profile cards, and a bilingual insight panel.
- Local-first architecture: the Python analysis service runs locally through Docker.
- Deterministic agent-style API for question answering over loaded datasets.
- CI coverage for parser behavior, API endpoints, Docker build, and package metadata.
- Windows release script for building a distributable desktop package.
Excel / CSV / TXT
|
v
Qt/C++ Desktop Client
|
v
FastAPI Analysis Service
|
+--> Parser and schema inference
+--> Quality scoring
+--> Trends, correlations, anomalies
+--> Analysis planner
+--> Markdown report and agent-style answers
Statistical_Analysis/ Qt/C++ desktop client
analysis_service/ FastAPI analysis service
analysis_service/tests/ Backend tests and fixtures
config/ Product config and bilingual UI copy
demo/ Demo workbook for manual review
packaging/ Windows release scripts
site/ GitHub Pages showcase
qss/ Desktop theme
Start the local analysis service:
docker compose up --buildOpen the desktop project with Qt Creator:
Statistical_Analysis/Statistical_Analysis.pro
Recommended kit:
Qt 6.11.1 MinGW 64-bit
Demo workbook:
demo/tablepilot_demo_sales.xlsx
Invoke-RestMethod http://127.0.0.1:8000/healthInvoke-RestMethod `
-Method Post `
-Uri http://127.0.0.1:8000/api/analyze `
-ContentType "application/json" `
-Body '{"filename":"tablepilot_demo_sales.xlsx"}'python -m pip install -r analysis_service/requirements-dev.txt
$env:PYTHONPATH = "$PWD\analysis_service"
python -m pytest -q analysis_service\testspowershell -ExecutionPolicy Bypass -File packaging\build-windows-release.ps1Output:
dist/TablePilot.zip
The package includes the Qt executable, Docker Compose file, analysis service, demo data, config files, and release notes.
Product-level settings live in:
config/app.json
Bilingual copy lives in:
config/i18n.en.json
config/i18n.zh-CN.json
The current desktop UI already supports Chinese/English switching. These config files make the project easier to maintain as the UI copy grows.
main: current modern TablePilot version.legacy-original-qt: preserved original Qt statistical analysis version.
- Add drag-and-drop welcome screen and recent files.
- Add user-selectable chart dimensions and chart types.
- Add structured report export from the desktop UI.
- Add screenshot-backed project page after final UI polish.
- Add GitHub Release automation for Windows packages.
TablePilot produces analytical summaries for learning and portfolio demonstration. It is not a business, financial, or operational recommendation system.