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.
data_processor/ βββ input/ β βββ sample.csv βββ logs/ β βββ run_log.txt βββ output/ β βββ processed.csv βββ processor.py βββ utils.py βββ utils2.py βββ README.md βββ .gitignore βββ requirements.txt
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.
- 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!