Spaces:
Sleeping
Sleeping
| import json | |
| import pandas as pd | |
| import mysql.connector | |
| import gradio as gr | |
| # Define your data loading and processing functions | |
| def load_data(): | |
| data = json.load(open("all_job_skills.json")) | |
| job_skills = pd.DataFrame() | |
| for job in data.keys(): | |
| temp = pd.DataFrame(data[job].keys(), columns=['skill']) | |
| temp['job'] = job | |
| job_skills = pd.concat([job_skills, temp]) | |
| job_skills = job_skills[~job_skills['skill'].str.contains('opic')] | |
| job_skills['Weightage'] = 0 | |
| return job_skills | |
| def get_student_data(student_id): | |
| mydb = mysql.connector.connect( | |
| host="edwiselyproddb.crhg7zleeuhf.ap-south-1.rds.amazonaws.com", | |
| user="usermanage", | |
| password="7L6ZpWGgbbE9jiSv", | |
| database = "edwisely_college" | |
| ) | |
| sql = mydb.cursor(buffered=True) | |
| query =f"""select sm.id, sm.name, ssqs.student_id, ssqs.avg_percentage_scored from subject_master sm | |
| join student_subject_questionnaire_stats ssqs on ssqs.subject_master_id = sm.id where ssqs.student_id = {student_id};""" | |
| sql.execute(query) | |
| df_student = pd.DataFrame(sql.fetchall(), columns = sql.column_names ) | |
| sql.close() | |
| mydb.close() | |
| return df_student | |
| def process_data(student_id): | |
| final_score_df = pd.read_excel('all_subject_2_final_score.xlsx') | |
| job_skills = load_data() | |
| df_student = get_student_data(student_id) | |
| for index, subject in df_student.iterrows(): | |
| skills_df = final_score_df[final_score_df['subject']==subject['name']] | |
| skills_df['Weightage'] = skills_df['score'] * subject.avg_percentage_scored * 0.01 | |
| for index, row in skills_df.iterrows(): | |
| job_skills.loc[job_skills['skill'] == row.skill, 'Weightage'] += row.Weightage | |
| result = job_skills.groupby('job')['Weightage'].sum().reset_index().sort_values('Weightage', ascending=False).iloc[:10, :] | |
| return result | |
| # Define Gradio interface | |
| iface = gr.Interface( | |
| fn=process_data, # The function to be executed | |
| inputs=[ | |
| "number" # Student ID input | |
| ], | |
| outputs="dataframe" # Display the result as a DataFrame | |
| ) | |
| # Launch the Gradio interface | |
| iface.launch(inline = False) | |