摘要:背景需要导入全国高校名录到数据库,从教委网站下到了最新的数据,是格式,需要做一个工具进行导入,想试用一下,说干就干。值得注意的一点,数据库连接字段串中要设定字符编码,不然默认是,写入会出错。看来,没有不好的工具,只是我们没有用好啊
背景
需要导入全国高校名录到数据库,从教委网站下到了最新的数据,是excel格式,需要做一个工具进行导入,想试用一下python,说干就干。
库xlrd : excel读写库
pymysql : mysql数据库驱动库,纯python打造
re : 正则表达式库,核心库
前两个用pip轻松完成安装,本人是在mac pro是进行的,过程很顺利,以前在mac上装mysqlclient一直安装不上,所以一度放弃使用python,但我在linux下安装mysqlclient却没有任何问题。
源代码很简单的小脚本,留存纪念。值得注意的一点,数据库连接字段串中要设定字符编码,不然默认是lanti-1,写入会出错。
import xlrd import pymysql import re conn = pymysql.connect(host="database connect address", port=1234, user="root", passwd="****", db="database name", charset="utf8mb4") p = re.compile(r"s") data = xlrd.open_workbook("./W020170616379651135432.xls") table = data.sheets()[0] t = table.col_values(1) nrows = table.nrows for i in range(nrows): r1 = table.row_values(i) if len(r1[2]) == 10: cur = conn.cursor() cur.execute("insert into `university` (`id`, `name`, `ministry`, `city`, `level`, `memo`) values (%s, %s, %s, %s, %s, %s)", (r1[2], p.sub("", r1[1]), p.sub("", r1[3]), p.sub("", r1[4]), r1[5], r1[6])) conn.commit() cur.close() conn.close()心得
写惯了类C的语言,不太习惯python,想同时掌握两种风格的编程语言,好痛苦啊。python编程效率的确不错,这是我第一次用python写实用小程序,连查带写带调试,一共也就花了一个来小时。python库与资料丰富,不愁找不到合适的^_^
数据库写入优化早上闲来无事,用批量写入优化了一下,任务秒完成,比一条条写入快了很多, 比我预想的差别还要大。看来,没有不好的工具,只是我们没有用好啊!
import xlrd import pymysql import re conn = pymysql.connect(host="database connect address", port=1234, user="root", passwd="****", db="database name", charset="utf8mb4") p = re.compile(r"s") data = xlrd.open_workbook("./W020170616379651135432.xls") table = data.sheets()[0] t = table.col_values(1) nrows = table.nrows ops = [] for i in range(nrows): r1 = table.row_values(i) if len(r1[2]) == 10: ops.append((r1[2], p.sub("", r1[1]), p.sub("", r1[3]), p.sub("", r1[4]), r1[5], r1[6])) cur = conn.cursor() cur.executemany("insert into `university_copy` (`id`, `name`, `ministry`, `city`, `level`, `memo`) values (%s, %s, %s, %s, %s, %s)", ops) conn.commit() cur.close() conn.close()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44468.html
摘要:功能将数据导入到数据库练习使用将的数据导入到练习语句查看创建插入语句创建一个循环迭代读取文件每行数据的从第二行开始是要跳过标题关闭游标提交关闭数据库连接打印结果我刚导入了除了之外还可以另外的写操作词篇暂不赘述对于的操作有很多有意思的方法, 功能:将Excel数据导入到MySQL数据库 练习使用sqlite3 将excel的数据导入到mysql 练习sql语句-查看dochttps:...
摘要:测试业务需要现有中有个分别是的,的,的,如下图的和都有列,且列数据值有部分是一样的现需要将和匹配生成的,匹配规则把复制到的文件中,中的列值取值是和都有列匹配对应的的列值实现打开要匹配的列索引目标数据列索引的的的的的总行数的的的总列数的要匹 测试业务需要: 1.现有a.xlsx a.xlsx中...
摘要:查看数据的基本统计信息。用处是用于数据读写处理更改提取等一系列操作的包,可以说,所有能实现的功能,都可以通过代码轻松实现,因此,对于学习非常重要。如果在里,需要翻到最低和最右,而且可能由于溢出无法穷尽可以简单的实现。 放在前面的话 这学期刻意少...
阅读 1566·2021-09-26 09:46
阅读 2637·2021-09-07 09:59
阅读 2733·2021-09-07 09:59
阅读 1829·2019-08-30 14:20
阅读 906·2019-08-26 13:39
阅读 3120·2019-08-26 12:24
阅读 752·2019-08-26 11:55
阅读 1201·2019-08-23 16:49