File size: 2,479 Bytes
a13e09c
 
163e27f
 
a13e09c
 
 
163e27f
 
c2f2c32
a13e09c
 
 
af7a4a8
 
247bb4a
 
 
a13e09c
 
 
 
 
 
c2f2c32
4a9632c
b4636a3
a13e09c
 
247bb4a
 
 
 
 
 
 
 
 
 
 
 
4a9632c
 
247bb4a
 
 
 
 
 
4a9632c
a13e09c
163e27f
 
c2f2c32
 
 
 
a13e09c
163e27f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import re
from datetime import datetime
import psycopg2
import pandas as pd
class SkillExtractorDetailsV1:


    def GetSkillData(skill_extractor, inputData, db_params):
        getdbskills = SkillExtractorDetailsV1.GetSkillDatafromDB(db_params)
        
        skills_list = []
        annotations = skill_extractor.annotate(inputData)
        matches = annotations['results']['full_matches']+annotations['results']['ngram_scored']
        skill_Typelst = []
        skill_Scorelst = []
        reuiredSkilllst = []
        softskillslst = []
        goodtohavelst = []
        for result in matches:
            skill_id = result['skill_id']
            skill_name1 = skill_extractor.skills_db[skill_id]['skill_name']
            skill_name = skill_name1.split("(")[0].strip()
            skill_type = skill_extractor.skills_db[skill_id]['skill_type']
            skill_score = round(result['score'],2)
            result = getdbskills[getdbskills['skill'] == skill_name.upper()]
            
            if(result.empty):
                if( skill_name in skills_list):
                    continue
                if(skill_score > 99 and skill_type != 'Soft  Skill'):
                    reuiredSkilllst.append(skill_name)
                elif(skill_score > 50 and skill_type == 'Soft  Skill'):
                    softskillslst.append(skill_name)
                elif(skill_score <= 50 and skill_type == 'Soft  Skill'):
                    goodtohavelst.append(skill_name)
                elif(skill_score <= 99 and skill_type != 'Soft  Skill'):
                    goodtohavelst.append(skill_name)

                # skills_list.append(skill_name)
                # skill_Typelst.append(skill_type)
                # skill_Scorelst.append(skill_score)
            else:
                print('----'+ result)    
        # list_of_tuples = list(zip(skills_list, skill_Typelst,skill_Scorelst))        
        # df = pd.DataFrame(list_of_tuples,
        #           columns=['Skill_Name', 'Skill_Type','Skill_Score'])
        data = {'Data':['Required Skills', 'Soft Skills', 'Good to have Skills'], 'Values':[reuiredSkilllst, softskillslst, goodtohavelst]}
        df = pd.DataFrame(data)
        
        return df        

    def GetSkillDatafromDB(db_params):
        conn = psycopg2.connect(**db_params)
        
        query = "select upper(skilldetails) skill from skillmaster where weightage = 0"
        df = pd.read_sql_query(query, conn)
        return df