之前已经使用SchemaSpy工具分析了数据库的结构,之后就可以比较方便的将数据从数据库导出到Excel等文件中,这次我选择使用Python来完成这个工作。
1 任务简介
把PostgreSql数据库中5张表的数据导出到Excel文件中,查询的字段涉及到5张表,所以需要联合查询,其中还有两张表存在自引用,所以还会更复杂一些。
2 工具
- 使用
psycopg2
模块连接数据库 - 使用
xlwt
模块操作Excel文件
2.1 psycopg2
这个模块用法很常规,
- 连接数据库
- 执行SQL
- 获取结果
重点在于SQL语句的构造,因为涉及多个表,所以不得已要使用join
,那么为了考虑效率应当把数据量大的表放在小表的前面。
2.2 xlwt
这个模块用于写Excel文件,与之对应的还有xlrd
来完成读文件的操作。
用法也很简单,
- 新建Excel文件
- 新建sheet表
- 定位起始单元格
- 写内容
- 保存&关闭文件
需要注意的问题有两点:
- 文件编码,新建文件时需要指明
utf-8
- 表格大小,由于xls文件最多只能到65535行,所以表过大的时候要么换
xlsx
格式