python 将字典内容存入数据库_Python数据字典生成工具详解

Python还被大家称为“胶水语言”,它适用于网站、桌面应用开发、自动化脚本、复杂计算系统、科学计算、生命支持管理系统、物联网、游戏、机器人、自然语言处理等很多方面。对于职场人来说,Python可以帮助他们实现自动化办公提高工作效率。

11b5c89022ae7f5e65df889995f17f80.png

而对于很多学生来说,Python可以帮助他们爬取各种资料。Python也是拥有的最热门的技能之一,并且根据“编程语言索引的流行度”,它也是世界上最受欢迎的编程语言。

与其他编程语言相比,Python提供的一些优势是:

1、与主要平台和操作系统兼容

2、许多开源框架和工具

3、可读且可维护的代码

4、强大的标准库

5、标准测试驱动的开发

如何用Python实现数据字典自动生成

实现思路:

1、配置数据源连接数据库;

2、查询数据库表结构;

3、将获取到的表结构按照固定格式排版;

4、写入到输出文件中;

5、查看生成的数据字典文件;

准备材料

1、python运行环境,推荐下载python2.7

2、安装python数据库类库MySQLdb

代码实现

# coding=gbk# coding:utf-8'''Mysql数据字典生成工具author 良date 2020.1.2实现思路:1、配置数据源连接数据库;2、查询数据库表结构;3、将获取到的表结构按照固定格式排版;4、写入到输出文件中;5、完毕;'''import MySQLdbimport sysreload(sys)sys.setdefaultencoding('gbk')def readDataFromDB(dbConn,dbName):data_list = []# 使用cursor()方法获取操作游标cursor = dbConn.cursor()# SQL 查询语句sql = " SELECT C.TABLE_NAME AS '表', " " T.TABLE_COMMENT AS '表名', " " C.COLUMN_NAME AS '字段名', " " C.COLUMN_TYPE AS '数据类型', " " C.IS_NULLABLE AS '允许为空', " " C.COLUMN_COMMENT AS '字段说明', " " C.COLUMN_KEY AS '键' " " FROM " " COLUMNS C " " INNER JOIN TABLES T ON C.TABLE_SCHEMA = T.TABLE_SCHEMA " " AND C.TABLE_NAME = T.TABLE_NAME " " WHERE T.TABLE_SCHEMA = '%s' " %(dbName)print sqltry:# 执行SQL语句cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()for row in results:data_list.append(row)# print "fname=%s" % (tcode)except Exception as err:print("Error %s for execute sql: %s" % (err, sql))return data_listif __name__ == '__main__':# 读出filePath = 'dataDict.txt'# 配置数据库连接dbConn = MySQLdb.connect("127.0.0.1", "root", "root", "information_schema", charset='utf8' )# 配置数据库名称;dbName = "testdb"# 获取数据库表结构;data_list = readDataFromDB(dbConn,dbName);# 关闭数据库连接;dbConn.close();#print data_listencode_base = "gbk"# 数据字段排版tableCount = 0tableName = ""res = []for i in range(0, len(data_list)):tableName1 = data_list[i][0]if (tableName != tableName1):tableCount+=1tableName = tableName1print "---分割线---"print "表名称:", data_list[i][0]print "表注释:",data_list[i][1]print "字段名数据类型允许为空字段说明键"# 数据格式组装res.append("---表[%s]---" %(tableCount))res.append("表名称 %s " %tableName)res.append("表注释 %s"%(data_list[i][1]))res.append("字段名数据类型允许为空字段说明键")print "---表[%s]---",tableNameprint data_list[i][2],"",data_list[i][3],"",data_list[i][4],"",data_list[i][5],"",data_list[i][6]res.append("%s%s%s%s%s" %(data_list[i][2],data_list[i][3],data_list[i][4],data_list[i][5],data_list[i][6]))print "[",tableName,"]colunm",data_list[i][2]# 字符串拼接strf = ''.join(res)print strf# 创建一个文件,将内容写入文件;fo = open(filePath, "w")print "文件名: ", fo.namefo.write(strf)fo.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值