Skip to content

agrim-git-hub/mini-data-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Employee Raise Recommendation System

This project is a CSV data processor that evaluates employee performance and determines their raise percentage based on various criteria such as role, department, task performance, tenure, and team dependencies.


πŸ“ Project Structure

data_processor/ β”œβ”€β”€ input/ β”‚ └── sample.csv β”œβ”€β”€ logs/ β”‚ └── run_log.txt β”œβ”€β”€ output/ β”‚ └── processed.csv β”œβ”€β”€ processor.py β”œβ”€β”€ utils.py β”œβ”€β”€ utils2.py β”œβ”€β”€ README.md β”œβ”€β”€ .gitignore └── requirements.txt

βš™οΈ Setup Instructions

1. πŸ“¦ Requirements

This project runs on pure Python, no external libraries needed.
βœ… Works with Python 3.6+

If you don't have Python installed, download it here.


2. πŸš€ How to Run

  1. Clone this repo:
    git clone https://github.com/your-username/employee-raise-processor.git
    cd employee-raise-processor

Place your input CSV file inside the input/ folder. The file must contain the following headers (order doesn’t matter):

Copy code Serial_Number, Employee_Name, Employee_ID, Department, Job_Role, Assigned_Tasks, Completed_Tasks, Dependency, Tenure_in_Company Run the processor:

bash Copy code python processor.py Check:

output/processed.csv β†’ contains final raise percentages.

logs/run_log.txt β†’ contains warnings, errors, and execution logs.

πŸ“Š What the Script Does For each employee, the script:

Validates required fields and headers

Handles bad/missing/extra data with informative logging

Classifies:

Role based on seniority

Department by business impact

Dependency by criticality

Calculates:

Task performance

Tenure level

Composite performance score

Outputs:

A new CSV with Serial_Number, Employee_Name, Employee_ID, and Raise_percent

πŸ“Œ Notes Rows with missing or corrupt data are automatically skipped with a detailed log entry.

You can inspect run_log.txt to debug any input issues.

πŸ› οΈ To-Do / Future Improvements Replace global logging with a Logger class

Use reverse lookup maps for performance

Add CLI interface for dynamic paths

πŸ‘¨β€πŸ’» Author Made by Agrim Sharma Feel free to connect or suggest improvements!

About

"A Python CSV processor with custom logic for employee performance and raise calculation"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages