Skip to content
GueniPublic

About

A Python-based, open source, desktop application to import, read and analyse excel files in order to create and display multiple charts.

Topics

Resources

Stars

17 stars

Watchers

2 watching

Forks

Repository files navigation

Anaxcel

A Python desktop app for combining Excel/CSV files and analysing them with Pareto and donut charts.

Data view

Features

  • Load several .xls, .xlsx, .xlsm and .csv files at once. Add them with the button or by drag and drop, and they are combined into one table.
  • A fast table view that handles hundreds of thousands of rows. Click a column header to sort it, and use the search box to filter rows.
  • A Pareto chart that highlights the "vital few" categories making up 80 % of the total. Hover a bar to see its values.
  • A donut chart that shows each category's share of the total.
  • Export the visible rows to .xlsx or .csv.
  • Light and dark themes. The window scales with any screen size and DPI, and the sidebar shrinks to icons when the window is narrow.

Getting started

Requires Python 3.9 or newer.

py -m pip install -r requirements.txt
py main.py

On macOS or Linux, use python3 instead of py. You can also pass files when starting the app: py main.py data1.xlsx data2.csv.

Usage

  1. Files: add spreadsheets, then click Load. Only the selected files are loaded, or all of them if none are selected. Clear First row contains column names if your files have no header row.
  2. Data: check the combined table. Pick a Category column (what to group by) and a Value column (what to add up), then click Analyse.
  3. Pareto / Donut: explore the charts. Use the chart toolbar to zoom, pan or save as an image.
Pareto Donut
Pareto Donut

Light theme in a small window:

Light, compact

Keyboard shortcuts

Action Shortcut
Add files Ctrl+O
Load files Ctrl+L
Analyse Ctrl+R
Export data Ctrl+E
Switch page Ctrl+1 … Ctrl+4
Toggle theme Ctrl+T
Remove selected files Del (in the file list)
About F1

Building the Windows installer

Requires Python 3.9+ and Inno Setup 6 (winget install JRSoftware.InnoSetup).

powershell -ExecutionPolicy Bypass -File build.ps1

This creates .venv, installs requirements-dev.txt, generates sample files in data/, runs the tests, builds dist\Anaxcel\Anaxcel.exe with PyInstaller and packages dist\Anaxcel-<version>-Setup.exe. Use -SkipTests to skip the tests.

To run the tests alone: py tools\make_sample_data.py then py -m pytest -q.

Project layout

main.py            entry point
lib/anaxcel.py     main window: behaviour and wiring
lib/anaxcelgui.py  main window: layout and widgets
lib/charts.py      Pareto (matplotlib) and donut (Qt Charts) widgets
lib/core.py        file loading, Pareto maths, table model (no widgets)
lib/theme.py       light/dark colour tokens and stylesheet
lib/dialogs.py     About dialog
assets/            icons and screenshots
data/              sample spreadsheets (tools/make_sample_data.py)
tests/             smoke tests
anaxcel.spec       PyInstaller build
installer/         Inno Setup script and exe version info
build.ps1          one-shot build: venv, tests, exe, installer

About

A Python-based, open source, desktop application to import, read and analyse excel files in order to create and display multiple charts.

Topics

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages