当前位置: 首页 > 后端技术 > Python

利用Python找出适合你的国考市考公务员岗位

时间:2023-03-25 19:21:34 Python

用Python在国考、市考Bar中找出适合你的公务员岗位!根据2019年国考国职表,可以发现以下申请限制因素:专业、学历、政治地位、基层工作年限。表格下载地址:2019年国家公务员考试求职表格下载下载由于表格是excel的xlsx格式,我们需要用到xlrd和xlwt两个包,使用pip安装即可。如果您还没有安装Python和pip,请参阅此教程:安装Python。在CMD/TERMINAL中输入以下两条命令进行安装:pipinstallxlrdpipinstallxlwt假设,假设我们是计算机专业的本科专业,没有任何基层工作经验,筛选有这样条件的表适合我们的职位,(如果你不耐烦,可以从网站下载源代码直接使用):我们将使用xlrd读取表格,然后使用xlwt保存过滤后的数据。首先读取xlrd:data=xlrd.open_workbook(file)#将表格数据读入data然后我们需要一个变量来保存过滤后的数据:output=xlwt.Workbook(encoding='utf-8')有很多子-该表中的表,所以需要遍历所有子表:forsheetindata.sheets():output_sheet=output.add_sheet(sheet.name)#将这些子表添加到过滤后的文件中,并添加列信息ofthesecondrow:forcolinrange(sheet.ncols):#添加第二行的列信息output_sheet.row(0).write(col,sheet.cell(1,col).value)下一步是检测文件中的每一行,判断是否能满足我们的要求三个条件:专业、学历、基层限制。由于不好批量展示,这里直接给出所有源码。看完评论应该就明白了。是用关键字匹配对应表的方法:#完整源码#Python实战宝典2019-09-23#-*-coding:utf-8-*-importxlrdimportxlwtimportre#检查是否满足应用条件defcheck(row_value,major,edu,year):ma=row_value[12]#该职位要求的专业ed=row_value[13]#该职位要求的学位value=row_value[16]#职位所需年限ifcheck_major(ma,major)andcheck_edu(ed,edu)andcheckSpecial(value,year):returnTrueelse:returnFalsedefcheck_major(value,major):#检查是否满足专业要求pat=re.compile(major)ifre.search(pat,value):returnTruereturnFalse#检查是否达到学历要求defcheck_edu(value,edu):pat=re.compile(edu)ifre.search(pat,value):returnTruereturnFalse#检查基层年份设置defcheckSpecial(value,year):pat=re.compile(year)ifre.search(pat,value):returnTruereturnFalse#根据过滤出位置条件deffilterTitle(file,major,edu,year):data=xlrd.open_workbook(file)#将表单数据读入数据output=xlwt.Workbook(encoding='utf-8')forsheetindata.sheets():output_sheet=output.add_sheet(sheet.name)#将这些子表添加到过滤后的文件中forcolinrange(sheet.ncols):#添加第二行的列信息output_sheet.row(0).write(列,表。cell(1,col).value)output_row=1行inrange(sheet.nrows):#检查每一行的row_value=sheet.row_values(row)chosen=check(row_value,major,edu,year)#是否满足三个条件(专业、学历、草根限制)ifchosen==True:#满足则输出到文件。对于范围内的列(sheet.ncols):output_sheet.row(output_row).write(col,sheet.cell(row,col).value)output_sheet.flush_row_data()output_row+=1output.save('output.xls')if__name__=='__main__':filterTitle('1.xlsx',u'unlimited|computer',u'undergraduate',u'unlimited')运行后在本地找到一个output.xls文件,里面包含了我们所有的位置已经筛选出来了。大家可以看到,本科计算机岗位可以报中央国家党群机关和同级中央行政机关的职位比较少,但是国家行政机关在省级以下。直属职位很多,高达901个机构,355个机构。您还可以修改源代码以添加城市限制。比如你想在广东省工作,可以把check函数改成这样:defcheck(row_value,major,edu,year,location):ma=row_value[12]#这个职位要求的专业ed=row_value[13]#该职位所需的学历value=row_value[16]#该职位所需的年限loc=row_value[1]#该职位的职位ifcheck_re(ma,major)andcheck_re(ed,edu)andcheck_re(value,year)andcheck_re(loc,location):returnTrueelse:returnFalse然后查看原表中第二列的值,你会发现大部分国家公务员都是以省为单位的,比如广东省的XX工作人员,那么调用这个函数的时候只要加一个'广东'参数就可以了。这是我们文章的结尾。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请点击下方的赞/观看。有什么问题可以在下方留言区留言,我们会耐心解答!Python实战宝典(pythondict.com)不只是一个合集欢迎关注公众号:Python实战宝典原文来自Python实战宝典:Python公务员国考岗