A python script that fetches the grades of a student from a WAEC result in pdf format.

Overview

About waec-result-analyzer

A python script that fetches the grades of a student from a WAEC result in pdf format. Built for federal government college, Warri, Delta State.

A typical WAEC (West African Examination Council) result contains the Candidate Information and Subject Grades. This script is focused on the Subject Grades section.

Expected Data

This following data are what the school expects from a WAEC result.

POSSIBLE GRADES

'A1', 'B2', 'B3', 'C4', 'C5', 'C6', 'D7', 'E8', 'F9', 'OUTSTANDING', 'HELD', 'ABSENT'

SUBJECTS OFFERED BY ALL STUDENTS

'MATHEMATICS', 'FURTHER MATHEMATICS', 'ENGLISH LANGUAGE', 'LITERATURE IN ENGLISH',
'PHYSICS', 'BIOLOGY', 'CHEMISTRY', 'ECONOMICS', 'CIVIC EDUCATION', 'COMPUTER STUDIES', 'PHYSICAL EDUCATION',
'GEOGRAPHY', 'FINANCIAL ACCOUNTING', 'GOVERNMENT', 'DATA PROCESSING', 'CHRISTIAN RELIGIOUS STUDIES',
'OFFICE PRACTICE', 'TECHNICAL DRAWING', 'VISUAL ART', 'FRENCH', 'GARMENT MAKING', 'ISLAMIC RELIGIOUS STUDIES',
'HISTORY', 'COMMERCE', 'BASIC ELECTRONICS', 'ELECTRICAL INSTALLATION AND MAINTENANCE WORKS', 'AUTO MECHANICS',
'MARKETING', 'FOODS & NUTRITION'

Libraries

The library used in reading the PDF is pdfplumber

pip install pdfplumber

Necessity

The reason for building this project is that the method in which the result analysis is being carried out is of manual paper work. All the results (400+) are printed and checked manually by workers which is really tedious and tiring.

So this project aims to reduce if not eliminate manual labour and save time. The analysis is done so to know the number of students with an exact grade for all subjects.

For instance, below shows the analysis of mathematics. You can imagine processing all the grades for all subjects.

MATHEMATICS
A1 - 20, B2 - 34, B3 - 16, C4 - 7, C5 - 4, C6 - 8, D7 - 10, E8 - 1, F9 - 2, HELD - 3, ABSENT - 0

TOTAL PASSED - 89/105 * 100 = 85%
TOTAL FAILED - 16/105 * 100 = 15%

Contributing

Pull requests are very much welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Owner
Oshodi Kolapo
Tech geek, through and through.
Oshodi Kolapo
An kind of operating system portal to a variety of apps with pure python

pyos An kind of operating system portal to a variety of apps. Installation Run this on your terminal: git clone https://github.com/arjunj132/pyos.git

1 Jan 22, 2022
Control your gtps with gtps-tools!

Note Please give credit to me! Do not try to sell this app, because this app is 100% open source! Do not try to reupload and rename the creator app! S

Jesen N 6 Feb 16, 2022
If Google News had a Python library

pygooglenews If Google News had a Python library Created by Artem from newscatcherapi.com but you do not need anything from us or from anyone else to

Artem Bugara 1.1k Jan 08, 2023
Now you'll never be late for your Webinars or Meetings on the GoToWebinar Platform

GoToWebinar Launcher : Now you'll never be late for your Webinars or Meetings on the GoToWebinar Platform About Are you popular for always being late

Jay Thorat 6 Jun 07, 2022
Digitales Raumbuch

Helios Digitales Raumbuch Settings Moved to settings. Basic Commands Setting Up Your Users To create a normal user account, just go to Sign Up and fil

1 Nov 19, 2021
This is a spamming selfbot that has custom spammed message and @everyone spam.

This is a spamming selfbot that has custom spammed message and @everyone spam.

astro1212 1 Jul 31, 2022
🎅🏻 Helping santa understand ✨ python ✨

☃️ Advent of code 2021 ☃️ Helping santa understand ✨ python ✨

Fluffy 2 Dec 25, 2021
Xkcd.py - Script to generate wallpapers based on XKCD comics

xkcd.py Script to generate wallpapers based on XKCD comics Usage python3 xkcd.py

Gideon Wolfe 11 Sep 06, 2022
Some out-of-the-box hooks for pre-commit

pre-commit-hooks Some out-of-the-box hooks for pre-commit. See also: https://github.com/pre-commit/pre-commit Using pre-commit-hooks with pre-commit A

pre-commit 3.6k Dec 29, 2022
A dog facts python module

A dog facts python module

Fayas Noushad 3 Nov 28, 2021
Simple Python Gemini browser with nice formatting

gg I wasn't satisfied with any of the other available Gemini clients, so I wrote my own. Requires Python 3.9 (maybe older, I haven't checked) and opti

Sarah Taube 2 Nov 21, 2021
Show my read on kindle this year

Show my kindle status on GitHub

yihong 26 Jun 20, 2022
Easy installer for running Amazon AVS Device SDK on Raspberry Pi

avs-device-sdk-pi Scripts to enable Alexa voice activation using Picovoice Porcupine If you like the work, find it useful and if you would like to get

4 Nov 14, 2022
Contain the customization I made for my Linux rice.

dotfiles Contain the customization I made for my Linux rice. Credit and Respect Polybar Autohide Fulltime Rofi by adi1090x (only include my personal r

sora 3 Apr 04, 2022
Pypot ⚙️ A Python library for Dynamixel motor control

Pypot ⚙️ A Python library for Dynamixel motor control Pypot is a cross-platform Python library making it easy and fast to control custom robots based

Poppy Project 238 Nov 21, 2022
This repo is a collection of programs and websites templates too

📢 Register here for Hacktoberfest and make four pull requests (PRs) between October 1st-31st to grab free SWAGS 🔥 . IMPORTANT While making pull requ

Binayak Jha - 2 7 Oct 03, 2022
Neptune client library - integrate your Python scripts with Neptune

Lightweight experiment tracking tool for AI/ML individuals and teams. Fits any workflow. Neptune is a lightweight experiment logging/tracking tool tha

neptune.ai 353 Jan 04, 2023
The Great Autoencoder Bake Off

The Great Autoencoder Bake Off The companion repository to a post on my blog. It contains all you need to reproduce the results. Features Currently fe

Tilman Krokotsch 61 Jan 06, 2023
Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python

Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python Cashier is a tool developed by Russell Durrett for the analysis and extr

3 Sep 11, 2022
Ningyu Jia(nj2459)/Mengyin Ma(mm5937) Call Analysis group project(Group 36)

Group and Section Group 36 Section 001 name and UNI Name UNI Ningyu Jia nj2459 Mengyin Ma mm5937 code explanation Parking.py (1) Calculate the rate of

1 Dec 04, 2021