一.类中包含的函数

   1.__init__函数   除了self外还包含了一个参数

   2.excel_to_json 函数

    (1)创建了一个新的字典,

    (2)调用了person_info ,items_info,skill_info方法,更新了字典中的内容,

    (3)返回这个字典。

   3.person_info函数

     (1)通过.loc[0,]获取个人的所有信息

     (2)创建一个字典中包含个人的基础信息:姓名,工号,年龄,学历,专业,工作年限

     (3)将这个字典赋值给self.persons

     (4) 返回这个字典

  4.items_info函数

      (1)获取工号 其中调用了check_id_data 函数

      (2)创建一个项目列表

      (3)利用for循环遍历个人简历中的每一行  for i range(self.one_person_info.shape[0]):

                  创建一个有关项目的字典

                  挨个获取有关员工项目信息  项目名称/项目表述/当时所在的公司/项目所使用的技术/扮演的角色 其中项目所使用的技术调用了clean_skil_data 函数

                  将这个字典append到项目列表中 

 

      (4) 令项目名称,项目所使用的技术(用到了for循环),当时所在的公司为1?

      (5) 返回一个id和items的字典

  5.skill_info函数

     (1)获取工号  

     (2)创建一个关于技能的列表

     (3)利用for循环遍历每一行:

                  获取员工擅长的技能

                  用if判断技能是否为空,如果不为空的话,用clean_skil_data 函数清理技能之后,将所有的技能都累加起来。用set方法去重之后,更新列表。用for循环 令技能等于1?

     (4)返回一个id和skill的字典

  6.heck_id_data 函数 (除了self外还有一个value参数)

    用len函数获取value,并用if函数将不够六位的前面的补上0

  7.clean_skil_data (除了self函数外,还有一个skill参数)

    用re.spilt分割技能

二.不在类中的函数:

   1.write_json函数 参数有filename和data

   2.save_info函数

       (1)创建total_items = {} companys = {}skills = {}data_list = [] persons = []

         (2)利用for循环遍历data文件夹下的每个文件  获得每一个文件的路径

         利用pd.read_excel获取每个文件中的数据

         创建类的实例

         调用 excel_to_json 函数,并将获取的结果append到data_list中

          用append 或者update更新total_items = {} companys = {} skills = {}  persons = []的值

         (3)用write_json函数将total_items companys  skills 分别写入json文件

       (4)分别创建公司,技能,项目的字典,键值从0开始标志起  (用到了for循环和zip函数)
       (5)利用for循环遍历data_list  
                  将persons中每个人的信息转化为dataframe  
                 并添加 :label 这一列 为employee
                获取每个persons的id列
               并将persons中的数据写入csv文件中
               遍历项目信息中的每个键(for循环)
                       将关于项目的信息转化成dataframe格式
                       并添加item_ID:ID列  这一列的键值匹配到items_id_dict中的同一个项目的键值(用到了map)
                       并添加了:label 这一列  为item
                       获取每个项目的item_ID列
                       删除此dataframe中的'项目所使用的技术',"当时所在公司"这两列
 
                      创建一个包含 员工号,项目号,和类型这三列的dataframe
                      创建一个关于项目和技能的列表,其中放入项目所使用的技能
                     创建一个项目和技能的空的dataframe
                     用for循环遍历技能列表中的技能
                               通过技能匹配skill_id_dict中的对应的键值
                              创建一个关于项目号,技能号,类型的的dataframe
                             并创建一个把所有的项目和技能叠加起来的datafranme(用concat连接)
                    
                    通过但是所在的公司找到companys_id_dict字典中对应的键值
                    创建一个包含员工号,公司号,类型,这三列的dataframe
                    创建一个包含项目id,公司id,类型,这三列的dtaframe
                    用if else 将这五个dataframe写入csv文件
           获取技能
           用for循环遍历每个技能
                    找到每个技能对应的skill_id_dict字典中的键值
                   创建一个包含员工号,技能号,类型的dataframe
                   将这个dataframe写入csv文件
     (6)令i=0
              获取skill_id_dict字典中的key值作为skill
              用for循环遍历技能
                    获取skill_id_dict字典中对应的键值
                    创建含有技能id  技能 标签为skill的dataframe
                    将这个dataframe写入csv文件 (利用i+=1依次写入)
      (7)令i=0
                用for循环遍历company中的key值
                          在companys_id_dict字典中获取对应的键值
                          创建一个含有公司公司id列,公司以及标签为company的dataframe
                         将这个datarframe写入csv文件(利用i+=1依次写入)