Skip to main content

A CLI tool for managing student results from Excel sheets.

Project description

Result Analysis (Class 12th CS Project)

A comprehensive Python application designed to analyze, manage, and visualize student examination results from Excel sheets. This project parses raw result data, organizes it, and provides tools for statistical analysis and graphical representation.

Idea Given By Mam

Features

  • 📂 Excel Data Import: Seamless parsing of result sheets with automatic detection of subjects, marks, and student details. Supports fuzzy search to quickly find Excel files in the directory.
  • 📊 Data Visualization: Generate insights using Bar Charts, Line Charts, and Scatter Plots to analyze class performance.
  • 📈 Statistical Analysis: Automatically calculates percentages and totals. Groups students based on custom or default percentage thresholds.
  • 💾 Organized Storage: Keeps processed data structured by Class and Exam name in a local user-data database (CSV format).
  • 🖥️ Interactive Interface: Features a user-friendly CLI menu with support for keyboard navigation (using curses) and a compatibility mode for standard terminals.
  • 🗑️ Data Management: Built-in tools to view and safely delete old class or exam records.

Requirements

Ensure you have Python installed. The project relies on the following external libraries:

  • pandas (Data manipulation)
  • numpy (Numerical operations)
  • matplotlib (Plotting graphs)
  • thefuzz (Fuzzy string matching for file search)
  • openpyxl (Excel file reading backend)

Installation

You can install the package directly from the source code.

  1. Clone this repository or download the source code.

  2. Navigate to the project directory.

  3. Install using pip:

    pip install .
    

    For development (editable mode), use:

    pip install -e .
    

    Note: Windows users might need windows-curses for the full UI experience.

Usage

Once installed, you can run the application from anywhere using the main command or its shortcuts (rsa, rta):

result-analysis
# OR
rsa
# OR
rta

Download Samples

To download sample Excel files for testing:

rsa download samples

This will create a samples/ folder in your current working directory containing test data (IIIA.xlsx, etc.).

Running the App

Alternatively, you can run it as a Python module:

python -m main
  1. Place your raw Result Excel files (.xlsx) in the directory where you are running the command.
  2. Follow the on-screen menu to:
    • Upload: Select and process an Excel file.
    • Group: Create summary statistics based on percentage ranges.
    • View: Display result tables in the terminal.
    • Plot: Visualize the data.
    • Delete: Remove unwanted data.

Project Structure

  • main.py: Entry point.
  • data/: Data parsing and handling logic.
  • ui/: User interface components.
  • graphs/: Plotting and visualization logic.
  • group/: Grouping logic.
  • user-data/: Automatically generated directory where processed CSV files are stored, organized by Class and Exam.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

result_analysis-0.1.0.tar.gz (44.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

result_analysis-0.1.0-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file result_analysis-0.1.0.tar.gz.

File metadata

  • Download URL: result_analysis-0.1.0.tar.gz
  • Upload date:
  • Size: 44.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for result_analysis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dbebaa690c0521026ae4e457cde9d7a693f2dc721217f5d4fae42de1b945463f
MD5 5d4f7b8c74ce54a7d67e3fa5df010ddd
BLAKE2b-256 6c32fb4687a3993fe56193059574ae14c40dbdcd3c438d68a6f1aecf2989bf37

See more details on using hashes here.

File details

Details for the file result_analysis-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for result_analysis-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d86a7e653d58ccbfc49881e33da4c0c121489ae7731cc0b9af3c66fea3889ced
MD5 1fccdd614219ef53fa589551bda311a9
BLAKE2b-256 36181dcadd3b0d5fb27f6fcb584c6bfbd5cddaa1139263e10b7ef832835054a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page