Skip to content

Latest commit

 

History

98 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Data Analyser

A desktop application for quick statistical analysis of CSV and Excel files — no coding required.

Built with Python, tkinter, and pandas.


Features

  • Load CSV or Excel files (.csv, .xls, .xlsx, .xlsm, .xlsb)
  • View your full dataset in a scrollable table
  • Basic Analysis — select any column and calculate:
    • Highest / lowest value
    • Average, median
    • Standard deviation, variance
    • Percentiles (Q1, Q3, IQR)
    • Most frequent value
    • Unique value breakdown (with expandable rows)
  • Advanced Analysis — select multiple columns and compute row-level:
    • Sum, mean, median, product (numerical columns)
    • String concatenation (text columns)
  • Export a full statistical report as .txt
  • Export advanced analysis results as .xlsx
  • Available in English and Spanish

Getting Started (End Users)

  1. Download the latest release from the Releases page
  2. Unzip the folder
  3. Run main.exe
  4. Choose your language
  5. Click Load File and select a CSV or Excel file
  6. Use Basic Analysis to explore individual columns, or switch to Advanced Analysis to work across multiple columns
  7. Save results using Save Report or the Save button in advanced mode

⚠️ Windows only. No installation required — just unzip and run.


For Developers

Requirements

  • Python 3.12+
  • Dependencies:
pandas
numpy
openpyxl
pandastable
pillow
matplotlib

Install with:

pip install pandas numpy openpyxl pandastable pillow matplotlib

Running from Source

git clone https://github.com/sara-czasak/Universal_Data_Analysis_Tool.git
cd Universal_Data_Analysis_Tool/v1
python main.py

Project Structure

v1/
├── main.py                  # Entry point, UI setup
├── analysis_brain.py        # Core data logic (pandas operations)
├── analysis_buttons.py      # Button creation and stat display
├── advanced_ui.py           # Advanced analysis UI
├── button_func.py           # Button callback functions
├── language_center.py       # Multilingual support
├── report_writer.py         # Report export logic
├── splash_screen.py         # Splash screen
├── stats_trees.py           # Treeview components
├── style_mgr.py             # ttk styling
├── helpers.py               # Utility functions
├── popups.py                # Error popups
└── report_templates/        # Text templates for report generation
    ├── numerical.txt
    └── string.txt

Building the Executable

Requires pyinstaller. Use Python 3.12 (standalone, not conda) to avoid DLL issues.

pip install pyinstaller
pyinstaller --onedir --add-data "report_templates;report_templates" --noconsole --noconfirm main.py

The distributable will be in dist/main/. Zip the entire main/ folder for distribution.


Known Limitations

  • Windows only (not tested on Mac or Linux)
  • Polish language support is in progress (___PL___ placeholders in language_center.py)
  • Single column selection only in Basic Analysis mode

License

MIT License — feel free to use, modify, and distribute.


Author

Made by Sara Czasak

Releases

Packages

Contributors

Languages