学习python自动化运维的第五天

学习python自动化运维的第五天

我回来了,继续学习python的自动化运维,今天主要的学习内容为,通过python对excel表格进行编辑(非pandas),可以通过平时操作excel的思维对表格进行处理,以及生成图表等等。因为个人excel学的并不怎么样,同时考虑到了自动化,这部分内容确实挺有趣的,一起来看看吧。
以下代码块主要讲的都是xlsxwriter这个模块,希望可以帮助到有需要的朋友。代码块之间以空行分开,需要的解锁对应的代码块即可正常使用。

# coding: utf-8

"""python自动化运维,学习的第五天"""

"""
        xlsxwriter模块的学习
    这个模块主要讲的是通过python编辑
    excel表格,有点类似与pandas和
    matplotlib库的结合,直接有类似于
    excel的功能。
"""

# #模块常用方法说明
# import xlsxwriter
# workbook = xlsxwriter.Workbook("./excel/demol.xlsx")   # 创建一个Excel文件
# worksheet = workbook.add_worksheet(name="测试")   # 创建一个工作表
# worksheet.set_column("A:A",20)   # 设置第一列(A列)的列宽
# bold = workbook.add_format({"bold":True})   # 设置一种单元格格式,字体加粗
# worksheet.set_row(0,40,bold)  # 将第一行的高度设置为40像素
# worksheet.set_row(10,None,None,{"hidden":True})   # 隐藏第十行单元格
# worksheet.write("A1","hello")   # 向A1单元格写入内容
# worksheet.write("A2","world",bold)   # 写入内容并设置单元格格式
# worksheet.write("B2","中文测试",bold)  # 设置中文内容
# worksheet.write(2,0,35)   # 坐标的方式写入单元格(A3单元格)
# worksheet.write(3,0,35.5)
# worksheet.write(4,0,"=SUM(A3:A4)")   # 设置求和公式以及求和区间
# worksheet.insert_image("B5","./img/photo1.png")   # 向单元格插入图片
# worksheet.write_boolean("A6",True)    # 添加布尔类型数据
# worksheet.write_url("A7","ftp://www.python.org/")    # 添加超链接
# chart = workbook.add_chart({"type":"column"})   # 创建一个柱形图
# '''
#                 图形样式与名字对应关系
#                 area:面积样式图表
#                 bar:条形样式图表
#                 column:柱形样式图表
#                 line:线形样式图表
#                 pie:饼形样式图表
#                 scatter:散点形样式图表
#                 stock:股票形样式图表
#                 radar:雷达形样式图表
# '''
# chart.set_size({"width":720,"height":576})   # 设置柱形图的宽高
# chart.set_title({"name":"柱形图"})   # 设置表标题
# chart.set_style(37)   # 设置柱形图样式,不同的数字,不同的样式
# chart.set_table()  # 设置X轴为数据表格样式
# chart.add_series({    # 添加一个类型的数据
#     'categories':'=测试!$A$1:$A$2',     #  设置柱形图的标签范围
#     'values':'=测试!$A$3:$A$4',    # 设置图表的数据范围
#     'line': {'color':'red'},    # 设置图标线条属性
# })
# chart.add_series({    # 再添加一个类型的数据
#     "name":"数据",
#     'categories':'=测试!$A$1:$A$2',     #  设置柱形图的标签范围
#     'values':'=测试!$A$3:$A$4',    # 设置图表的数据范围
#     'line': {'color':'red'},    # 设置图标线条属性
# })
# chart.set_x_axis({    # 设置图表的X坐标轴
#     "name":"X坐标名称",   # 设置名称
#     "name_font":{"size":14,"bold":True},  # 设置名称属性
#     "num_font":{"italic":True}   # 设置数字字体属性
# })
# worksheet.insert_chart("A22",chart)   # 将柱形图插入指定的位置
# workbook.close()   # 关闭文件

# # 示例,自动化业务流量报表周报
# import xlsxwriter
# workbook = xlsxwriter.Workbook("./excel/流量周报报表.xlsx")
# worksheet = workbook.add_worksheet()
# chart = workbook.add_chart({"type":"column"})
# title = ["业务名称","星期一","星期二","星期三","星期四","星期五","星期六","星期日","平均流量"]
# buname = ["新闻中心","业务官网","购物频道","体育频道","亲子频道"]
# data = [
#     [150,152,158,149,155,145,148],
#     [89,88,95,93,98,100,99],
#     [201,200,198,175,170,198,195],
#     [75,77,78,78,74,70,79],
#     [88,85,87,90,93,88,84]
# ]
# format = workbook.add_format()   # 定义format样式
# format.set_border(1)
# format_title = workbook.add_format()
# format_title.set_border(1)
# format_title.set_bg_color("#cccccc")  # 设置背景颜色
# format_title.set_align("center")  # 设置居中
# format_title.set_bold()   # 设置字体加粗
# format_ave = workbook.add_format()
# format_ave.set_border(1)
# format_ave.set_num_format("0.00")    # 设置单元格数字显示样式
# worksheet.write_row("A1",title,format_title)
# worksheet.write_column("A2",buname,format)
# for i in range(5):
#     worksheet.write_row("B%s"%(i+2),data[i],format)
# for row in range(2,7):
#     cur_row = str(row)
#     worksheet.write_formula("I"+cur_row,
#     "=AVERAGE(B" + cur_row + ":H" + cur_row + ")",format_ave)
#     chart.add_series({
#         "categories":"=Sheet1!$B1:$I$1",
#         "values":"=Sheet1!$B$%s:$I$%s"%(cur_row,cur_row),
#         "line":{"color":"black"},
#         "name":"=Sheet1!$A$" + cur_row
#     })
# chart.set_size({"width":577,"height":487})
# chart.set_title({"name":"业务流量周报图表"})   # 设置表标题
# chart.set_x_axis({    # 设置图表的X坐标轴
#     "name":"星期",   # 设置名称
#     "name_font":{"size":14,"bold":True},  # 设置名称属性
# })
# chart.set_table()   #设置表格坐标轴
# chart.set_y_axis({"name":"Mb/s"})
# worksheet.insert_chart("A8",chart)
# workbook.close()

以上内容为个人的学习内容,有的地方可能讲解不正确,希望发现的朋友给予指正,非常感谢。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值