Hackathon_Recommendation_System / hackathon_recommendation.py
Safalya's picture
Upload 4 files
04baae9 verified
import pandas as pd
# Load Hackathon Data from CSV
def load_hackathons(csv_file):
df = pd.read_csv(csv_file)
hackathons = []
for _, row in df.iterrows():
skills = row["Required Skills"].split(",") # Convert skills from string to list
skills = [skill.strip().title() for skill in skills] # Clean up formatting
hackathons.append({"name": row["Hackathon Name"], "skills": skills})
return hackathons
# Function to recommend hackathons based on user skills
def recommend_hackathons(user_skills, hackathons):
recommendations = []
for hackathon in hackathons:
matched_skills = [skill for skill in user_skills if skill in hackathon["skills"]]
if matched_skills: # If at least one skill matches
recommendations.append((hackathon["name"], len(matched_skills)))
# Sort by number of matched skills (Best match first)
recommendations.sort(key=lambda x: x[1], reverse=True)
return [rec[0] for rec in recommendations]
# Load hackathons from the uploaded CSV file
csv_path = r"C:\Users\safal\PycharmProjects\PythonProject\Hackathon_Dataset.csv"
hackathons = load_hackathons(csv_path)
# User manually inputs skills
user_skills = input("Enter your skills (comma-separated): ").split(",")
# Remove extra spaces & standardize formatting
user_skills = [skill.strip().title() for skill in user_skills]
# Get hackathon recommendations
recommended_hackathons = recommend_hackathons(user_skills, hackathons)
# Output results
print("\nYour Skills:", user_skills)
print("Recommended Hackathons:", recommended_hackathons if recommended_hackathons else "No matching hackathons found.")