python脚本-通过数据库建表语句生成表格
获取数据库建表sql ,需要带备注COMMENT
`sessionId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户会话id',
`login_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '登录账号',
`dept_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '部门名称',
`ipaddr` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '登录IP地址',
`login_location` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '登录地点',
`browser` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '浏览器类型',
`os` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '操作系统',
`status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '在线状态on_line在线off_line离线',
`start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间',
`last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间',
`expire_time` int(5) DEFAULT '0' COMMENT '超时时间,单位为分钟',
把sql复制进txt文档,编写python脚本
file = open("struct.txt ",encoding='UTF-8')
lines = file.readlines()
for line in lines:
contents = line.split(' ')
for i in range(len(contents) - 1, -1, -1):
if not contents[i].strip():
contents.pop(i)
print(contents[0][1:-1], end='\t')
if contents[-1][0] == "'":
print(contents[-1].strip()[1:-2], end='\t')
elif contents[-2][0] == "'":
print(contents[-2][1:] + contents[-1].strip()[:-2], end='\t')
else:
left = -1
right = 0
while contents[left][0] != "'":
left -= 1
print(contents[left][1:], end='')
for i in range(left + 1, -1):
print(contents[i], end='')
print(contents[-1].strip()[:-2], end='\t')
print(contents[1], end='\t')
if 'NOT' in contents:
print('NOT NULL', end='\t')
else:
print(' \t', end='')
print(' \t')
执行,控制台生成固定格式字段信息,粘贴到需要的文档