python:写文件个性化设置模块Python_Xlwt练习

# -*- coding: utf-8 -*-
"""
Created on Sun Aug  5 22:52:22 2018@author: A3
"""# =============================================================================
#<code style="font-family:Menlo, Monaco, Consolas, 'Courier New', monospace;font-size:12px !important;color:rgb(68,68,68) !important;background-color:rgb(249,249,249) !important;display:block;border:none !important;line-height:18px;"># -*- coding: utf-8 -*-
import xlsxwriterdef get_format(wd, option={}):return wd.add_format(option)# 设置居中
def get_format_center(wd,num=1):return wd.add_format({'align': 'center','valign': 'vcenter','border':num})
def set_border_(wd, num=1):return wd.add_format({}).set_border(num)# 写数据
def _write_center(worksheet, cl, data, wd):return worksheet.write(cl, data, get_format_center(wd))
workbook = xlsxwriter.Workbook('report.xlsx')
worksheet = workbook.add_worksheet("测试总况")
worksheet2 = workbook.add_worksheet("测试详情")def init(worksheet):# 设置列行的宽高worksheet.set_column("A:A", 15)worksheet.set_column("B:B", 20)worksheet.set_column("C:C", 20)worksheet.set_column("D:D", 20)worksheet.set_column("E:E", 20)worksheet.set_column("F:F", 20)worksheet.set_row(1, 30)worksheet.set_row(2, 30)worksheet.set_row(3, 30)worksheet.set_row(4, 30)worksheet.set_row(5, 30)# worksheet.set_row(0, 200)define_format_H1 = get_format(workbook, {'bold': True, 'font_size': 18})define_format_H2 = get_format(workbook, {'bold': True, 'font_size': 14})define_format_H1.set_border(1)define_format_H2.set_border(1)define_format_H1.set_align("center")define_format_H2.set_align("center")define_format_H2.set_bg_color("blue")define_format_H2.set_color("#ffffff")# Create a new Chart object.worksheet.merge_range('A1:F1', '测试报告总概况', define_format_H1)worksheet.merge_range('A2:F2', '测试概括', define_format_H2)worksheet.merge_range('A3:A6', '这里放图片', get_format_center(workbook))_write_center(worksheet, "B3", '项目名称', workbook)_write_center(worksheet, "B4", '接口版本', workbook)_write_center(worksheet, "B5", '脚本语言', workbook)_write_center(worksheet, "B6", '测试网络', workbook)data = {"test_name": "智商", "test_version": "v2.0.8", "test_pl": "android", "test_net": "wifi"}_write_center(worksheet, "C3", data['test_name'], workbook)_write_center(worksheet, "C4", data['test_version'], workbook)_write_center(worksheet, "C5", data['test_pl'], workbook)_write_center(worksheet, "C6", data['test_net'], workbook)_write_center(worksheet, "D3", "接口总数", workbook)_write_center(worksheet, "D4", "通过总数", workbook)_write_center(worksheet, "D5", "失败总数", workbook)_write_center(worksheet, "D6", "测试日期", workbook)data1 = {"test_sum": 100, "test_success": 80, "test_failed": 20, "test_date": "2018-10-10 12:10"}_write_center(worksheet, "E3", data1['test_sum'], workbook)_write_center(worksheet, "E4", data1['test_success'], workbook)_write_center(worksheet, "E5", data1['test_failed'], workbook)_write_center(worksheet, "E6", data1['test_date'], workbook)_write_center(worksheet, "F3", "分数", workbook)worksheet.merge_range('F4:F6', '60', get_format_center(workbook))pie(workbook, worksheet)# 生成饼形图
def pie(workbook, worksheet):chart1 = workbook.add_chart({'type': 'pie'})chart1.add_series({'name':       '接口测试统计','categories':'=测试总况!$D$4:$D$5','values':    '=测试总况!$E$4:$E$5',})chart1.set_title({'name': '接口测试统计'})chart1.set_style(10)worksheet.insert_chart('A9', chart1, {'x_offset': 25, 'y_offset': 10})def test_detail(worksheet):# 设置列行的宽高worksheet.set_column("A:A", 30)worksheet.set_column("B:B", 20)worksheet.set_column("C:C", 20)worksheet.set_column("D:D", 20)worksheet.set_column("E:E", 20)worksheet.set_column("F:F", 20)worksheet.set_column("G:G", 20)worksheet.set_column("H:H", 20)worksheet.set_row(1, 30)worksheet.set_row(2, 30)worksheet.set_row(3, 30)worksheet.set_row(4, 30)worksheet.set_row(5, 30)worksheet.set_row(6, 30)worksheet.set_row(7, 30)worksheet.merge_range('A1:H1', '测试详情', get_format(workbook, {'bold': True, 'font_size': 18 ,'align': 'center','valign': 'vcenter','bg_color': 'blue', 'font_color': '#ffffff'}))_write_center(worksheet, "A2", '用例ID', workbook)_write_center(worksheet, "B2", '接口名称', workbook)_write_center(worksheet, "C2", '接口协议', workbook)_write_center(worksheet, "D2", 'URL', workbook)_write_center(worksheet, "E2", '参数', workbook)_write_center(worksheet, "F2", '预期值', workbook)_write_center(worksheet, "G2", '实际值', workbook)_write_center(worksheet, "H2", '测试结果', workbook)data = {"info": [{"t_id": "1001", "t_name": "登陆", "t_method": "post", "t_url": "http://XXX?login", "t_param": "{user_name:test,pwd:111111}","t_hope": "{code:1,msg:登陆成功}", "t_actual": "{code:0,msg:密码错误}", "t_result": "失败"}, {"t_id": "1002", "t_name": "商品列表", "t_method": "get", "t_url": "http://XXX?getFoodList", "t_param": "{}","t_hope": "{code:1,msg:成功,info:[{name:123,detal:dfadfa,img:product/1.png},{name:456,detal:dfadfa,img:product/1.png}]}", "t_actual": "{code:1,msg:成功,info:[{name:123,detal:dfadfa,img:product/1.png},{name:456,detal:dfadfa,img:product/1.png}]}", "t_result": "成功"}],"test_sum": 100,"test_success": 20, "test_failed": 80}temp = 4for item in data["info"]:_write_center(worksheet, "A"+str(temp), item["t_id"], workbook)_write_center(worksheet, "B"+str(temp), item["t_name"], workbook)_write_center(worksheet, "C"+str(temp), item["t_method"], workbook)_write_center(worksheet, "D"+str(temp), item["t_url"], workbook)_write_center(worksheet, "E"+str(temp), item["t_param"], workbook)_write_center(worksheet, "F"+str(temp), item["t_hope"], workbook)_write_center(worksheet, "G"+str(temp), item["t_actual"], workbook)_write_center(worksheet, "H"+str(temp), item["t_result"], workbook)temp = temp -1init(worksheet)
test_detail(worksheet2)workbook.close()# =============================================================================import xlsxwriterworkbook = xlsxwriter.Workbook(r'C:\Users\A3\Desktop\2:项目\实验13: 写文件个性化设置模块Python_Xlwt练习\demo1.xlsx') #创建一个excel文件
worksheet = workbook.add_worksheet('sheet1') #在文件中创建一个sheet
#border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
top=workbook.add_format({'border':6,'align':'center','bg_color':'cccccc','font_size':9,'bold':True}) #设置单元格格式
title=[u'文件系统',u'总容量',u'使用大小',u'剩余大小'] #设置第一行标题信息
buname=['/dev/mapper/vg_basic-lv_root','tmpfs','/dev/sda1'] #设置左边第一排信息worksheet.write_row('A1',title,top)
worksheet.write_column('A2',buname,top)
worksheet.set_column('A:D',30) #A到D列设置宽度,宽度设置必须是整列设置,高度必须是整行设置
#worksheet.set_row(0,40) #设置第一行高度为40像素
format_data=workbook.add_format({'align':'center','font_size':9}) #设置单元格格式data=[[17678,4393,12388],[9768,8900,868],[24285,2715,21000]] #模拟文件系统的数据,data[0],[1],[2]分别表示全部空间,使用空间,剩余空间
worksheet.write_row('B2',data[0],format_data) #将数据写入,这里安装整行写入
worksheet.write_row('B3',data[1],format_data)
worksheet.write_row('B4',data[2],format_data)chart=workbook.add_chart({'type':'column'}) #创建表格,表格类型为column
chart.set_title({'name':u'文件系统使用率'}) #设置表格的title
for i in ['B','C','D']:chart.add_series({'categories': 'sheet1!$A$2:$A$4','values':'sheet1!$'+i+'$2:$'+i+'$4','name':'=sheet1!$'+i+'$1'})
#注意上面的表格中,每一行的数据在图中会显示在一起,也就是说values为B2:B4chart.set_size({'width':600,'height':300}) #设置表格的大小
chart.set_y_axis({'name': 'MB'}) #设置表格y轴信息
#chart.set_style(33) #设置表格的样式
worksheet.insert_chart('A8',chart) #插入表格
workbook.close()
# =============================================================================
#
# =============================================================================
import xlsxwriter
from xlsxwriter.workbook import Workbook
from xlrd.sheet import Sheetdef demo1():import xlsxwriter# 创建excel文件workbook = xlsxwriter.Workbook('demo.xlsx')
#     添加worksheet,也可以指定名字worksheet = workbook.add_worksheet()worksheet = workbook.add_worksheet('Test')#设置第一列的宽度worksheet.set_column('A:A', len('hello ')+1)#添加一个加粗格式方便后面使用bold = workbook.add_format({'bold': True})#在A1单元格写入纯文本worksheet.write('A1', 'Hello')#在A2单元格写入带格式的文本worksheet.write('A2', 'World', bold)#指定行列写入数字,下标从0开始worksheet.write(2, 0, 123)worksheet.write(3, 0, 123.456)#在B5单元格插入图片worksheet.insert_image('B5', 'python-logo.png')workbook.close()def charts():workbook = xlsxwriter.Workbook('chart_column.xlsx')worksheet = workbook.add_worksheet()bold = workbook.add_format({'bold': 1})# 这是个数据table的列headings = ['Number', 'Batch 1', 'Batch 2']data = [[2, 3, 4, 5, 6, 7],[10, 40, 50, 20, 10, 50],[30, 60, 70, 50, 40, 30],]#写入一行 worksheet.write_row('A1', headings, bold)#写入一列worksheet.write_column('A2', data[0])worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])#############################################创建一个图表,类型是columnchart1 = workbook.add_chart({'type': 'column'})# 配置series,这个和前面worksheet是有关系的。
#     指定图表的数据范围chart1.add_series({'name':       '=Sheet1!$B$1','categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$B$2:$B$7',})chart1.add_series({'name':       "=Sheet1!$C$1",'categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$C$2:$C$7',})
#    配置series的另一种方法
#     #     [sheetname, first_row, first_col, last_row, last_col]
#     chart1.add_series({
#         'name':         ['Sheet1',0,1],
#         'categories':   ['Sheet1',1,0,6,0],
#         'values':       ['Sheet1',1,1,6,1],
#                        })
#
#
#
#     chart1.add_series({
#         'name':       ['Sheet1', 0, 2],
#         'categories': ['Sheet1', 1, 0, 6, 0],
#         'values':     ['Sheet1', 1, 2, 6, 2],
#     })#      添加图表标题和标签chart1.set_title ({'name': 'Results of sample analysis'})chart1.set_x_axis({'name': 'Test number'})chart1.set_y_axis({'name': 'Sample length (mm)'})# 设置图表风格chart1.set_style(11)   # 在D2单元格插入图表(带偏移)worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10})######################################################################### 创建一个叠图子类型chart2 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'})# Configure the first series.chart2.add_series({'name':       '=Sheet1!$B$1','categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$B$2:$B$7',})# Configure second series.chart2.add_series({'name':       '=Sheet1!$C$1','categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$C$2:$C$7',})# Add a chart title and some axis labels.chart2.set_title ({'name': 'Stacked Chart'})chart2.set_x_axis({'name': 'Test number'})chart2.set_y_axis({'name': 'Sample length (mm)'})# Set an Excel chart style.chart2.set_style(12)# Insert the chart into the worksheet (with an offset).worksheet.insert_chart('D18', chart2, {'x_offset': 25, 'y_offset': 10})######################################################################### Create a percentage stacked chart sub-type.#chart3 = workbook.add_chart({'type': 'column', 'subtype': 'percent_stacked'})# Configure the first series.chart3.add_series({'name':       '=Sheet1!$B$1','categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$B$2:$B$7',})# Configure second series.chart3.add_series({'name':       '=Sheet1!$C$1','categories': '=Sheet1!$A$2:$A$7','values':     '=Sheet1!$C$2:$C$7',})# Add a chart title and some axis labels.chart3.set_title ({'name': 'Percent Stacked Chart'})chart3.set_x_axis({'name': 'Test number'})chart3.set_y_axis({'name': 'Sample length (mm)'})# Set an Excel chart style.chart3.set_style(13)# Insert the chart into the worksheet (with an offset).worksheet.insert_chart('D34', chart3, {'x_offset': 25, 'y_offset': 10})#生成圆饼图 chart4 = workbook.add_chart({'type':'pie'})#定义数据data = [['Pass','Fail','Warn','NT'],[333,11,12,22],]#写入数据worksheet.write_row('A51',data[0],bold)worksheet.write_row('A52',data[1])chart4.add_series({        'name':         '接口测试报表图','categories': '=Sheet1!$A$51:$D$51','values':     '=Sheet1!$A$52:$D$52','points':[{'fill':{'color':'#00CD00'}},{'fill':{'color':'red'}},{'fill':{'color':'yellow'}},{'fill':{'color':'gray'}},],})# Add a chart title and some axis labels.chart4.set_title ({'name': '接口测试统计'})chart4.set_style(3)
#     chart3.set_y_axis({'name': 'Sample length (mm)'})worksheet.insert_chart('E52', chart4, {'x_offset': 25, 'y_offset': 10})workbook.close()
if __name__ == '__main__':
#     demo1()charts()print('finished...')
# =============================================================================
#
# =============================================================================

【Python】写文件个性化设置模块Python_Xlwt练习相关推荐

  1. python的文件操作、模块操作、os模块、time、datatime模块以及模块的制作

    Day12新手小白学python 第十二节 python的文件操作.模块操作.os模块.time.datatime模块以及模块的制作 目录 Day12新手小白学python 前言 一.文件打开关闭 二 ...

  2. python打开文件报错无效序列_解决Python 写文件报错TypeError的问题

    处理上传的文件: f1 = request.FILES['pic'] fname = '%s/%s' % (settings.MEDIA_ROOT, f1.name) with open(fname, ...

  3. Python 写文件中文乱码问题

    Python写文件有中文字,会出现乱码的错误问题.那么如何分析解决呢? 错误分析: 文字乱码的问题基本都是由于编码格式不同导致的. 简单来说,计算机起源于欧美国家,开始只支持asiic码,也就是英文字 ...

  4. python写文件无法换行的问题

    python写文件无法换行的问题,用'\n'  不行,直接打印的出来了. 网上查了查,都说是用  '\r\n' ,但是这样打出来,不仅换行了,还加了一个空行. windows平台最后结果是    直接 ...

  5. 为什么python写文件后打开文件却为空?

    为什么python写文件后打开文件却为空? 结论:需要在写后再打开关上一次 正文: 我准备把'测试.txt'里的内容写到另一个文件'测试2.txt'里 下面是两个文档之前的截图情况 然后执行程序: f ...

  6. python写文件是否覆盖原来内容

    python写文件是否覆盖原来内容 python写文件 覆盖原来内容 不覆盖原来内容 python写文件 python写文件的两种方式:覆盖.不覆盖原来内容 覆盖原来内容 txt = 'landmar ...

  7. python写文件读文件-Python 实例:读写文件

    原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...

  8. python写文件读文件-Python文件读写

    在本章中将介绍Python 3中可用的所有基本文件读取I/O功能.有关更多功能,请参考标准Python文档. 打印到屏幕 产生输出的最简单方法是使用print语句,可以传递零个或多个由逗号分隔的表达式 ...

  9. python写文件追加 按行追加_Python3 自学第14天:文件操作,文件句柄,上下文管理器...

    前面我们了解了Python的异常处理和自定义异常,今天我们了解下Python的文件操作: 首先Python对文件的处理并不是直接操作的,而是去调用操作系统接口方法间接操作文件的,这样做的目的是为了确保 ...

最新文章

  1. 【FFmpeg】FFmpeg常用基本命令
  2. 第二章 选择符和属性
  3. 【Tools】Visual Studio 2019搭建Qt开发环境
  4. SAP CRM WebClient UI,点击Master Data工作中心后执行的JavaScript代码
  5. Java中数组的初始化
  6. 智能巡检告警配置实践
  7. mac apache php.ini,Mac自带的Apache使用详解
  8. 通俗易懂的理解机器学习中的正则化项,正则化防止过拟合的的原理
  9. MacBook 运维软件
  10. 结构光三维重建阶段性总结
  11. 大巧不工,袋鼠云正式开源大数据任务调度平台——Taier(太阿)
  12. 文件是否存在 FileExists 方法
  13. 论文阅读:SCENE TRANSFORMER: A UNIFIED ARCHITECTUREFOR PREDICTING MULTIPLE AGENT TRAJECTORIES
  14. 【铁矿石期货怎么开通】11月22日午盘基本面资讯整理
  15. 计算机网络---传输层
  16. 华为MateBook D加装硬盘和内存
  17. linux 设置文件为可修改密码,linux 为用户设定、修改密码 passwd
  18. C++四大特性——多态 的总结
  19. 2022安全员-B证考试题模拟考试题库及模拟考试
  20. 微信小程序实现短信认证功能

热门文章

  1. php$pat,PHP的Session管理框架 patSession | 码农软件 - 码农网
  2. 单片机c语言存数据,单片机中C语言的数据存储与程序编写
  3. nginx 官方手册 php,nginx + php 的配置
  4. 折纸机器人的步骤图解_折纸图解老虎
  5. Activity(活动)之Intent(意图)(显式与隐式)的使用
  6. Ubuntu 卸载 Nvidia 驱动和安装最新驱动
  7. mysql  基本操作(二)
  8. python字符串无效的原因_python字符串问题
  9. 无监督算法与异常检测
  10. 【转载】深度学习数学基础(二)~随机梯度下降(Stochastic Gradient Descent, SGD)