我的第一个数据分析项目——51job“数据分析”岗位分析(数据清
2018-09-20 本文已影响0人
大力SAMA
一、工作经验字段完善
虽然概要描述中显示无工作经验,但实际职位描述中仍旧要求工作经验,因此要把职位描述中的内容取出来更新到工作经验这一列。
网页数据显示 excel数据显示
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 12 13:05:27 2018
@author: shirley
"""
from openpyxl import load_workbook
import re
path = "D:/anaconda/shirleylearn/51job/test.xlsx"
workbook = load_workbook(path)
sheet = workbook["Sheet1"]
n = sheet.max_row#获取行数
#print(n)
dic = {"1年经验":".*?((1|一)年.*?经(验|历))","2年经验":".*?((2|两|二)年.*?经(验|历))","3-4年经验":".*?((3|三|4|四)年.*?经(验|历))","5-7年经验":".*?((5|6|7|五|六|七)年.*?经(验|历))","8-9年经验":".*?((8|9|八|九)年.*?经(验|历))","10年以上经验":".*?((^[1-9]\d|十.|二十.|三十.)年.*?经(验|历))"}
for i in range(2,n+1):
if sheet.cell(i,13).value == "无工作经验":
s = sheet.cell(i,9).value.replace("_x000D_","").replace("\n","")
#print(s,"\n")
for k in dic:
match = re.match(dic[k],s)
if match:
sheet.cell(i,13).value = k
workbook.save(path)
短短几个正则修改了快一天,而且仍旧不够完善,只是大部分能够处理。基础薄弱o(╥﹏╥)o
修改前“无工作经验”的数据有3460条,代码处理后“无工作经验”的数据有2400条,完善了1000条数据
二、学历字段完善
学历显示情况
同理,完善 学历 数据,处理前学历为空的数据有1600条,处理后剩余607条空数据,完善了1000条左右数据
修改学历代码如下:
def Degree(path):
workbook = load_workbook(path)
sheet = workbook["Sheet1"]
n = sheet.max_row#获取行数
dic = {"博士":".*?(博士.*?学历)","硕士":".*?(硕士.*?学历)","本科":".*?((本科|大本).*?学历)","大专":".*?((大专|专科).*?学历)","高中":".*?(高中.*?学历)"}
#学历从高到低排列,匹配的是最低学历
for i in range(2,n+1):
if not sheet.cell(i,14).value:#如果单元格为空(NONE)
s = sheet.cell(i,9).value.replace("_x000D_","").replace("\n","")
#print(s,"\n")
for k in dic:
match = re.match(dic[k],s)
#print(match)
if match:
sheet.cell(i,14).value = k
workbook.save(path)