问题描述:使用脚本来生成半年内的数据,数据内容大概为每天的数据库巡检日报,临时抱佛脚。数据不可能是真实的,都是随机生成的,想要使用真实的数据后面直连操作系统或者数据库。后期可以慢慢实现自动化生成每天的数据库巡检日报。

程序代码

# hzh 每天进步一点点
# 2022/5/23 18:22
import xlwt
import faker
import random
import datetime
def get_date_iter(start_date, end_date):
"""
获取指定时间段内的日期
:param start_date: 起始时间 --> str YYYYmmdd
:param end_date: 结束时间 --> str YYYYmmdd
:return: iter
"""
dt = datetime.datetime.strptime(start_date, '%Y%m%d')
date = start_date[:]
yield date
while date < end_date:
dt = dt + datetime.timedelta(days=1)
date = dt.strftime("%Y%m%d")
yield date def creat_exexel_filr(filename,xls,db_system,operatos,uptime): #文件名,部门名
wb=xlwt.Workbook(filename) # 将传入的文件名,创建为新的工作簿
sheet=wb.add_sheet("sheet") # 在工作簿中创建表
head_data=['时间','数据库系统','操作系统','内存使用率','磁盘使用率','CPU使用率','SWAP使用率','uptime','主从状态同步延迟','当前连接数',
'InnoDB buffer pool pages total','Buffer pool utilization','check_dba']
for head in head_data:# 写入头部信息
sheet.write(0,head_data.index(head),head)
for i in range(1, random.randint(2,2)): #循环1次,右边是闭区间
sheet.write(i,0,xls)
sheet.write(i,1,db_system)
sheet.write(i,2,operatos)
sheet.write(i,3,"{}%".format(random.uniform(40,95)))
sheet.write(i,4,"{}%".format(random.randint(30,60)))
sheet.write(i,5,"{}%".format(random.randint(30,90)))
sheet.write(i,6,"{}%".format(random.uniform(30,88)))
sheet.write(i,7,uptime+1)
sheet.write(i,8,random.choice(['同步','不同步']))
sheet.write(i,9,random.choice([200,300,400,500,600]))
sheet.write(i,10,random.choice([200,300,400,500,600]))
sheet.write(i,11,"{}M".format(random.randint(4096,8192)))
sheet.write(i,12, random.choice(['张三','李四']))
wb.save("xls_create/"+filename) def create(start_date, end_date):
xls_all = [i for i in get_date_iter(start_date, end_date)]
for xls in xls_all:
xls_name="{}.xls".format(xls)
creat_exexel_filr(xls_name,xls,'CRM系统数据库','red-hat 7.9',123)
print(xls_name,"新建完成") create('20220501','20220523')
print('表格已经全部创建完成')
# result = get_date_iter('20220501','20220523')
# for i in result:
# print(i)

运行程序,创建每天的巡检日报

python:生成半年内的巡检日报execl的更多相关文章

  1. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  2. 【python】【转】Python生成随机数的方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

  3. Python生成随机数的方法

    这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下 如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与 ...

  4. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  5. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  6. python常用的内置函数哈哈

    python常用的内置函数集合做一个归类用的时候可以查找 abs 返回数字x的绝对值或者x的摸 all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为true,就 ...

  7. python常用的内置函数

    python常用的内置函数集合做一个归类用的时候可以查找- abs 返回数字x的绝对值或者x的摸 - all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为tru ...

  8. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  9. Python生成随机数组的方法小结

    Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...

  10. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

随机推荐

  1. Java开发的事务

    代码来自https://blog.csdn.net/weixin_42950079/article/details/99674292 可以看出jdbc的一个事务有这么几个步骤:1.关闭sql自动提交: ...

  2. Context,多个组件公用的数据传导方法

    三个组件:输入A组件 输出B组件 TestContext组件,数据x. 方法: 输入端(A):     import TestContext from "TestContext组件路径&qu ...

  3. linux 修改password

    passwd 命令,手动修改: [root@localhost testuser]# passwd testuser Changing password for user testuser. New ...

  4. tail 命令 没有内容输出,记录一种解决

    1. 没有内容输出的命令: tail - f /test/platform/jtimer.log 控制台: 2. 当切换到此文件的当前路径后才有: 使用: tail - f jtimer.log

  5. 【.NET】Swagger 允许接口重名

    问题: Swagger Failed to load API definition. 相信用过swagger的小伙伴 一定经历过这样的错误,问题点很简单,是接口重名了. 我百度了一下,找不到答案. 谷 ...

  6. 微信小程序安装vant

    1.初始化npm并安装 npm init -y npm install 2.修改project.config.json { "setting": { "packNpmMa ...

  7. mysql创建数据库,用户,授权基操

    # 创建数据库create database test; # 创建用户并设置密码 create user 'test'@'%' identified by '123456';# 设置密码SET PAS ...

  8. Hadoop 从 hdfs 中拷出文件权限不够

    问题:使用-get命令从hdfs中拷出文件时,提示权限不够,如下: 分析: 可能有三方面原因: hdfs 中的文件或文件夹 没有读取权限: hdfs 的配置中未允许拷出文件: linux 文件夹没有写 ...

  9. Vue 解决先渲染 暂无数据

    // 组件 data(){ return { data:null // 设置默认值为null } } // template <div v-show="data != null&quo ...

  10. vue项目 - 自定义数字输入指令 | 限制自定义小数位输入

    1.在main.js中直接加入代码: import Vue from 'vue' Vue.directive("input-limit", { bind(el, binding) ...