博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
提取奖励办数据中人员信息(自用)
阅读量:6175 次
发布时间:2019-06-21

本文共 3900 字,大约阅读时间需要 13 分钟。

2016年

#coding=utf-8import refrom pymongo import MongoClientclient = MongoClient("localhost", 27017)db = client["nosta"]collection1 = db["nosta_2016"]collection2 = db["2016_list"]db.authenticate("zty","zty")n = 0for item in collection1.find({}, {
"project_name":1, "project_content":1, "_id":0}): n += 1 print n if item['project_content'].has_key(u'主要完成人'): ls = item['project_content'][u'主要完成人'] if ls: for line in ls: # print line matchObj1 = re.search( ur'(姓名:.*?) .*', line) matchObj2 = re.search( ur'.* (行政职务:.*?) .*', line) matchObj3 = re.search( ur'.* (技术职称:.*?) .*', line) matchObj4 = re.search( ur'.* (工作单位:.*?) .*', line) matchObj5 = re.search( ur'.* (对本项目技术创造性贡献:.*?) .*', line) matchObj6 = re.search( ur'.* (对本项目主要学术贡献:.*?) .*', line) matchObj7 = re.search( ur'.* (曾获国家科技奖励情况:.*)', line) dc = {} dc['project_name'] = item['project_name'] dc['name'] = matchObj1.group(1) if matchObj1 else '' dc['duty'] = matchObj2.group(1) if matchObj2 else '' dc['title'] = matchObj3.group(1) if matchObj3 else '' dc['unit'] = matchObj4.group(1) if matchObj4 else '' dc['contribution'] = matchObj5.group(1) if matchObj5 else '' if dc['contribution']=='': dc['contribution'] = matchObj6.group(1) if matchObj6 else '' dc['award'] = matchObj7.group(1) if matchObj7 else '' # for k, v in dc.items(): # print k, v collection2.insert(dc)

 

2017、2018年

#coding=utf-8import refrom pymongo import MongoClientclient = MongoClient("localhost", 27017)db = client["nosta"]collection1 = db["nosta_2017"]collection2 = db["2017_list"]db.authenticate("zty","zty")n = 0for item in collection1.find({}, {
"project_name":1, "project_content":1, "_id":0}): n += 1 print n if item['project_content'].has_key(u'主要完成人:'): choice = item['project_content'][u'主要完成人:'] if choice == []: continue ls = choice.split(u'姓名:')[1:] for line in ls: line = line.replace(u'排名:',u' 排名:') line = line.replace(u'行政职务:',u' 行政职务:') line = line.replace(u'技术职称:',u' 技术职称:') line = line.replace(u'工作单位:',u' 工作单位:') line = line.replace(u'完成项目时所在单位:',u' 完成项目时所在单位:') line = line.replace(u'对本项目技术创造性贡献:',u' 对本项目技术创造性贡献:') line = line.replace(u'对本项目主要学术贡献:',u' 对本项目主要学术贡献:') line = line.replace(u'曾获国家科技奖励情况:',u' 曾获国家科技奖励情况:') line = u'姓名:' + line # print line matchObj1 = re.search( ur'(姓名:.*?) .*', line) matchObj2 = re.search( ur'.* (行政职务:.*?) .*', line) matchObj3 = re.search( ur'.* (技术职称:.*?) .*', line) matchObj4 = re.search( ur'.* (工作单位:.*?) .*', line) matchObj5 = re.search( ur'.* (对本项目技术创造性贡献:.*?) .*', line) matchObj6 = re.search( ur'.* (对本项目主要学术贡献:.*?) .*', line) matchObj7 = re.search( ur'.* (曾获国家科技奖励情况:.*)', line) dc = {} dc['project_name'] = item['project_name'] dc['name'] = matchObj1.group(1) if matchObj1 else '' dc['duty'] = matchObj2.group(1) if matchObj2 else '' dc['title'] = matchObj3.group(1) if matchObj3 else '' dc['unit'] = matchObj4.group(1) if matchObj4 else '' dc['contribution'] = matchObj5.group(1) if matchObj5 else '' if dc['contribution']=='': dc['contribution'] = matchObj6.group(1) if matchObj6 else '' dc['award'] = matchObj7.group(1) if matchObj7 else '' # for k, v in dc.items(): # print k, v collection2.insert(dc)

 

转载于:https://www.cnblogs.com/zhangtianyuan/p/9438347.html

你可能感兴趣的文章
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
Flutter - Drawer 抽屉视图与自定义header
查看>>
ERP系统的优势_库存管理软件开发
查看>>
如何内行地评价公链(一)从真正的不可能三角谈起
查看>>
BigDecimal 详解
查看>>
Shell实战之函数的高级用法
查看>>
NASA制做模拟系外行星环境 发现了热木星大气不透明的原因
查看>>
Slog67_后端框架Skynet之Makefile解读
查看>>
iOS ShareSDK桥接技术
查看>>
BAT面试须知:Java开发的招聘标准
查看>>
WeUI for 小程序–使用教程
查看>>
[vuex] unknown action type
查看>>
深入浅出 Java 并发编程 (1)
查看>>
【神器】可视化创建骨架屏
查看>>
数组左边减去右边数值的最大差值
查看>>
SVN用法
查看>>
js中的promise和then
查看>>
队列组 iOS之多线程GCD(二)
查看>>
Flutter滚动, 中间显示整图, 前后露出部分图
查看>>
Flutter入坑指南:开发环境搭建
查看>>