最近看2017年国考的职业表,多而杂,不好过滤我想要的信息,特此把它转成Sqlite3数据库,再从数据库里把查询结果导出成excel,方便找职业。

(后附上整套代码)

环境:python2.7

xlrd :读excel的库

xlwt:写excel的库 两个库都可以在:https://pypi.python.org 上搜索到。

gk.xls:国考官网上下载的职业表数据

一、excel转sqlite:

直接连接sql语句了,不用orm

#-*- coding: utf-8 -*-

importsqlite3importxlrd

data= xlrd.open_workbook('gk.xls')

con= sqlite3.connect('data.db')

cursor=con.cursor()for x in range(0,4):

table=data.sheets()[x]

rows=table.nrowsprint 'rows:%s cols:%s'%(rows,table.ncols)printtable.ncolsfor i in range(1, rows):

rowData=table.row_values(i)

departNo=rowData[0]

departName= rowData[1]

useDepart= rowData[2]

jgxz= rowData[3]

jgcj= rowData[4]

zwsx= rowData[5]

zwmc= rowData[6]

zwjj= rowData[7]

zwdm= rowData[8]

kslb= rowData[9]

bkrs= rowData[10]

zy= rowData[11]

xl= rowData[12]

xw= rowData[13]

zzmm= rowData[14]

jcgznx= rowData[15]

szyf= rowData[16]

xbzyz= rowData[17]

dxscg= rowData[18]

tgjhjs= rowData[19]

wxz= rowData[20]

sfzms= rowData[21]

msrybl= rowData[22]

bz= rowData[23]

zwfb= rowData[24]

bmwz= rowData[25]

zxdh1= rowData[26]

zxdh2= rowData[27]

zxdh3= rowData[28]

cursor.execute('insert into gk values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', (departNo,departName,useDepart,jgxz,jgcj,zwsx,zwmc,zwjj,zwdm,kslb,bkrs,zy,xl,xw,zzmm,jcgznx,szyf,xbzyz,dxscg,tgjhjs,wxz,sfzms,msrybl,bz,zwfb,bmwz,zxdh1,zxdh2,zxdh3))

con.commit()

con.close()

执行完会在当前目录生成data.db,如图:

表格里4个sheet里的所有数据都被存入data.db里的gk数据表.

二、查询数据,生成excel:

#-*- coding: utf-8 -*-

importsqlite3importxlwt#connect to sqlite

con = sqlite3.connect('data.db')

cursor=con.cursor()

cursor.execute("select * from gk where useDepart like '%永州%'")#create excel

wbk = xlwt.Workbook(encoding='utf-8', style_compression=0)

sheet= wbk.add_sheet('sheet', cell_overwrite_ok=True)

column_head= (u'部门代码',u'部门名称',u'用人司局',u'机构性质',u'机构层级',u'职位属性',u'职位名称',u'职位简介',u'职位代码',u'考试类别',u'招考人数',u'专业',u'学历',u'学位',u'政治面貌',u'基层工作最低年限',u'三支一扶大学生',u'西部志愿者',u'大学生村官',u'特岗计划教师',u'无限制',u'是否在面试阶段组织专业能力测试',u'面试人员比例',u'备注',u'职位分布',u'部门网站',u'咨询电话1',u'咨询电话2',u'咨询电话3')for i inrange(len(column_head)):

sheet.write(0,i,column_head[i])

i= 1

while 1:

one=cursor.fetchone()if notone:break

for j inrange(len(one)):

sheet.write(i,j,one[j])

i+= 1

#save excel

wbk.save('out.xls')#close sqlite connection

con.commit()

con.close()

执行完会在当前目录生成out.xls,查看里面的内容:

搞定了,以后有时间弄成web版的吧.

本来想把所有的包括职位表传到gitlab上的,现在是北京时间:13:58:54 不过gitlab竟然挂了!? Deploy in progress,难道是因为最近的米国被Ddos攻击么,等恢复了再上传吧

excel 转 数据库python_Python实战 :2017国考职业表excel转数据库,再查询生成excel相关推荐

  1. 牛客网数据库SQL实战45—— 将titles_test表名修改为titles_2017

    牛客网数据库SQL实战45-- 将titles_test表名修改为titles_2017 题目描述 将titles_test表名修改为titles_2017. CREATE TABLE IF NOT ...

  2. 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。

    牛客网数据库SQL实战14-- 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略. 题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出titl ...

  3. excel函数与公式实战技巧精粹_excel函数技巧:两个查询函数的用法比较 下

    编按:今天是VLOOKUP与LOOKUP双雄战的第三回合.在前两个回合中,VLOOKUP旗开得胜,连胜两局.第三回合是交叉查询,LOOKUP能否展开反击止住颓势呢? ----------------- ...

  4. 用ajax提交表单给数据库,如何利用ajax提交form表单到数据库

    如何利用ajax提交form表单到数据库 发布时间:2021-06-17 14:52:49 来源:亿速云 阅读:75 作者:小新 这篇文章主要介绍如何利用ajax提交form表单到数据库,文中介绍的非 ...

  5. scrapy读取mysql数据库_python3实战scrapy获取数据保存至MySQL数据库

    python3使用scrapy获取数据然后保存至MySQL数据库,我上一篇写了如何爬取数据保存为csv文件,这一篇将会写如何将数据保存至数据库. 思路大都一样,我列一个思路: 1:获取腾讯招聘网. 2 ...

  6. 《数据库SQL实战》查找employees表

    题目描述 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列 CREATE TABLE employees ( emp_no ...

  7. 《数据库SQL实战》从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。 注意对于重复的emp_no进行忽略。

    题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t. 注意对于重复的emp_no进行忽略. CREATE TABLE IF NOT EXISTS ...

  8. 《数据库SQL实战》从titles表获取按照title进行分组

    题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t. CREATE TABLE IF NOT EXISTS "titles" ...

  9. 数据库SQL实战 --44.将titles_test表名修改为titles_2017

    题目描述 将titles_test表名修改为titles_2017. CREATE TABLE IF NOT EXISTS titles_test ( id int(11) not null prim ...

最新文章

  1. 串口编程-读写超时 COMMTIMEOUTS设置
  2. 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场)D.小牛vs小客-博弈
  3. linux下使用ffmpeg命令录屏桌面
  4. [svc][op]vim自动添加注释
  5. optee3.14中MMU页表查询的所需配置--深入解读
  6. 0069 如何在Intellij IDEA中查看Spring MVC项目的所有请求与处理方法的映射列表
  7. android模拟器无法拍照,为什么dafault相机无法在android模拟器中工作?
  8. 一文看懂卷积神经网络CNN的核心
  9. php调用外站数据,dedecms数据库外部调用,两dedecms站点数据远程调用
  10. CentOS7.0下NTP时间同步服务
  11. ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)
  12. 第五课--使用定时器实现中断(1)
  13. java实现23种设计模式之普通工厂模式和抽象工厂模式
  14. PreparedStatement的用法
  15. erdas几何校正_实验一 ERDAS介绍与图像几何校正
  16. WIN10 运行cmd显示“系统无法找到指定的路径”
  17. 一个读取3DS文件的类CLoad3DS浅析Ⅰ
  18. 程序员是否合格----看看键盘就知道了
  19. 小妲己智能机器人要连接wifi吗_小度智能机器人怎么连wifi
  20. 快速傅里叶变换使用方法

热门文章

  1. 202005 U盘使用: 对于目标文件系统,文件过大
  2. Another git process seems to be running in this repository, e.g. an editor opened by ‘git commit‘. .
  3. 【高性能计算】浅析高性能计算的优点、缺点以及未来的发展方向
  4. python 递增后循环_随步递增递减循环
  5. JAVA面向对象编程作业(Chapter10、11)
  6. 高中职校计算机要不要学英语作文,职业高中对口高考英语作文写作之我见
  7. SAPERP软件如何修改采购订单信息记录中的净价?
  8. Win10 新建文件夹或者删除文件夹不自动刷新的问题
  9. 用Windows自带插件bat实现批量修改文件名
  10. Matlab 原始高斯消去法函数