1、python自动化办公
python 自动化脚本
sql_data函数(自动化查询SQL-DDL语句)
import pymysql
import csv
def sql_data(sqlName,write,File_route,host,port,user,passwd,db_1,charset):
# 连接数据库
db = pymysql.Connect(
host=host,
port=port[0],
user=user,
passwd=passwd,
db=db_1,
charset=charset
)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
#创建存放数据的列表
output = []
out_list = []
try:
for new_sqlName in sqlName:#循环遍历sql表结构
sql = "show create table " + new_sqlName
cursor.execute(sql)# 使用 execute() 方法执行SQL语句
results = cursor.fetchall()# 获取所有记录列表
list1 = range(0,len(results), 1)# 循环遍历
print("---------"+new_sqlName+"---------"+"字段数("+str(len(results))+")")
for i in list1:# 遍历查询的字符串
sqlstr=results[i]
# 输出结果
print(sqlstr[0],sqlstr[1])
table_dict = {
"table_name": sqlstr[0],
"Field_name": sqlstr[1]
}
output.append(table_dict)
# print(output)
# 生成新的txt文件
# with open("文档.txt","a", encoding="utf8") as f:
# # f.write("\t\n\n")
# for list1 in output:
# newline = list1["table_name"],list1["Fiele_name"],list1["describe"],list1["type"]
# print(newline)
# f.write(newline)
# 生成新的csv文件
headers = ["table_name","Field_name"]
with open(File_route,write, newline="", encoding="GB2312") as f:
f_csv = csv.DictWriter(f, headers)# 构建一个数据字典写入的对象
f_csv.writeheader() # 写入头
f_csv.writerows(output) # 写入多行列表
print("运行成功,已全部写入")
except:
print ("Error: unable to fetch data")
调用sql_data函数
from Get_create_table.GET_Create_table_SQL import sql_data
if __name__ == '__main__':
# 连接数据库-参数配置
host='localhost'
port=3306,
user='root'
passwd='123'
db_1='girls'
charset='GB2312'
#所需要获取表结构的表名
sqlName = [
"jops"
]
#写入格式/方法
write = "w"
#文件存放路径
File_route="File/data.csv"
sql_data(sqlName,write,File_route,host,port,user,passwd,db_1,charset)`