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!