1、python自动化办公(2021-09完成)

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)`
posted @ 2021-08-24 10:25  FY0203  阅读(78)  评论(0)    收藏  举报