一、工具开发场景:
本次群团的需求中有164张表单需要测试,发现有一张表单配置后,前端未实现跳转。前端称自己忘记了,于是将164张表全部进行配置检验。
二、讲解方案
1、需要实现:164张表通过数据库中插入,进行配置权限,内容如下
某组织某个岗位,配置164张表:
2、将表数据,通过pandas库进行解析,带入到sql语句中
import pandas as pd
df = pd.read_csv("data01.csv")
tables = "auth_op_post_current"
text = ""
for index, row in df.iterrows():
text = f"{text}INSERT INTO {tables}(org_id, operation_id,post_id) VALUES('{row[0]}','{row[1]}','{row[2]}');\n"
print(text)
#iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问
inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df = pd.DataFrame(inp)
for row in df.iterrows():
print(row['c1'], row['c2']) # 输出每一行
3、将生成的sql全部复制粘贴到navicat premium,进行执行
一共执行了10.95s
三、总结
适用于场景:需要在数据库中插入大量的数据,数据格式无限制。
优点:通过excel可快速造,各种各样的数据,通过pandas解析取出使用;
缺点:非全自动化,需要分别在excel、数据库中操作;
执行sql有些慢
(后续可优化为全自动的方案)