A desktop application for quick statistical analysis of CSV and Excel files — no coding required.
Built with Python, tkinter, and pandas.
- 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
- Download the latest release from the Releases page
- Unzip the folder
- Run
main.exe - Choose your language
- Click Load File and select a CSV or Excel file
- Use Basic Analysis to explore individual columns, or switch to Advanced Analysis to work across multiple columns
- Save results using Save Report or the Save button in advanced mode
⚠️ Windows only. No installation required — just unzip and run.
- Python 3.12+
- Dependencies:
pandas
numpy
openpyxl
pandastable
pillow
matplotlib
Install with:
pip install pandas numpy openpyxl pandastable pillow matplotlibgit clone https://github.com/sara-czasak/Universal_Data_Analysis_Tool.git
cd Universal_Data_Analysis_Tool/v1
python main.pyv1/
├── 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
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.pyThe distributable will be in dist/main/. Zip the entire main/ folder for distribution.
- Windows only (not tested on Mac or Linux)
- Polish language support is in progress (
___PL___placeholders inlanguage_center.py) - Single column selection only in Basic Analysis mode
MIT License — feel free to use, modify, and distribute.
Made by Sara Czasak