python 利用xlsx生成sql
在工作中经常需要根据excel内容去插入,更新,删除数据库内容。操作了几次,写了两次读取生成sql的脚本都想想还是抽空写个抽象的转换脚本方便以后的工作。
所写工具放在github上:https://github.com/chenguifeng/create_sql
准备工具
- python
- 安装pip
- pip install argparse
- pip install xlwt
想法
首先看看我们常规操作的流程。
1. 读取excel内容。
2. 转为sql语句。
那么按照面向对象的思路,显然我们在这边有一个专门处理excel内容,读取,过滤。另一个类负责把读取传来的内容转化为sql,其中包含插入,更新,删除方法。
按照这个思路我们构建的类如下:
ReadXlsxBase 包含了如下几个功能,提供返回字段,具体值得方法,也包括相关的返回sheet_name key 也就是excel内部表的名字。
class ReadXlsxBase(object):
def __init__(self, path):
self.xlsx_path = path
self.xlsx_data = get_data(self.xlsx_path)
def check_sheet_name_is_exist(self, sheet_name):
def get_all_sheet_key(self):
def get_all_field_name_by_sheet_name(self, sheet_name):