利用Python操作excel表格之openyxl介绍

by:授客 QQ:1033553122

欢迎加入全国软件测试交流qq群(群号:7156436)

## 绘图
c
= LineChart()
              # 设置图标类型:LineChart 连线图
 AreaChart 面积图

c.title
'CPU利用率'
       
# 设置生成图的报告名称
c.style
= 10
                 # 设置图例样式

c.y_axis.title
'百分比'
   
# 设置 Y 轴名称
c.x_axis.title
'时间'
     
# 设置 X 轴名称

c.y_axis.scaling.min
= 0
     # 设置y轴坐标最的小值
c.y_axis.majorUnit
= 10
      # 设置主y轴坐标,两个“坐标刻度”直接的间隔
c.y_axis.scaling.max
= 100
   # 设置主y轴坐标的最大值


# 设置 data引用数据源:第2列到第列(包括第2,10列),第1行到第30行,包括第1,
30行

data
= Reference(sheet, min_col=2, max_col=10, min_row=1, max_row=30)
c.add_data(data, titles_from_data=True)

# 设置x轴
坐标值,即轴标签(Label)(从第3列,第2行(包括第2行)开始取数据直到第30行(包括30行))

x_labels
= Reference(sheet, min_col=1, min_row=2, max_row=30)
c.set_categories(x_labels)

c.width
= 18
 # 设置图表的宽度
单位 cm

c.height
= 8 # 设置图表的高度
单位 cm


# 设置插入图表位置
cell
"A10"
sheet.add_chart(c,
cell)

# 绘制双y坐标轴图表
sheet
= work_book['DEV']
c1
= AreaChart()
  #
 面积图

c1.title
'磁盘活动统计报告'
c1.style
= 10
 #
10 13 11

c1.y_axis.title
'平均时长(毫秒)'
c1.x_axis.title
'时间'

c1.y_axis.majorGridlines
None

first_row
= [] # 存储第一行记录
# 获取第一行记录
for row in sheet.rows:
    for cell in row:
        first_row.append(cell.value)
    break

# 拼接系列的方式
target_columns
= ['await''svctm']
for target_column in target_columns:
    index
= first_row.index(target_column)
    ref_obj
= Reference(sheet, min_col=index
+ 1, min_row=2, max_row=300)
    series_obj
= Series(ref_obj, title=target_column)
    c1.append(series_obj)

x_labels
= Reference(sheet, min_col=1, min_row=2, max_row=300)
c1.set_categories(x_labels)

c1.width
= 18
c1.height
= 8

c2
= LineChart()
c2.y_axis.title
'磁盘利用率'
c2.y_axis.scaling.min
= 0
   # 设置y轴坐标最的小值
#c2.y_axis.majorUnit
= 5
    # 设置主y轴坐标的坐标单位

c2.y_axis.scaling.max
= 100
 # 设置主y轴坐标的最大值

ref_obj
= Reference(sheet, min_col=8, min_row=2, max_row=300)
series_obj
= Series(ref_obj, title='%util')
c2.append(series_obj)

s
= c2.series[0] # 获取添加第一个系列

# 设置线条填充颜色,也是图例的颜色
s.graphicalProperties.line.solidFill
"DEB887"

# 设置线形
可选值如下:

#
['solid', 'dot', 'dash', 'lgDash', 'dashDot', 'lgDashDot',
'lgDashDotDot', 'sysDash', 'sysDot',
'sysDashDot','sysDashDotDot']

s.graphicalProperties.line.dashStyle
"sysDot"
s.graphicalProperties.line.width
= 50000 # 设置线条宽度(单位:EMUs
s.smooth
True # 设置平滑线条

# 设置第二个图表的y轴同x轴的交叉点为最大值 max,以便让其y轴靠图表最右侧展示
c2.y_axis.crosses
"max" # 可选值:autoZero、 min、 max
c2.y_axis.axId
= 200
      # 我也不知道做啥用,反正不能少,值固定200就可以了

c1
+= c2
sheet.add_chart(c1, "A2")

work_book.save('./new_mydata.xlsx'# 保存、另存为工作簿


 

结果:

 



#
 新建工作簿

#
http://openpyxl.readthedocs.io/en/stable/tutorial.html#create-a-workbook

work_book
= Workbook()

# 注:新建工作簿时会自动创建一个Sheet工作表,可通过如下方式获取默认新建的Sheet表,
#
work_book.active总是获取索引为0的Sheet表

sheet
= work_book.active

# 插入一个新的Sheet表到最前面
mysheet1
= work_book.create_sheet(title='MySheet1', index=0)

# 在最后面增加一个Sheet表
mysheet2
= work_book.create_sheet(title='MySheet2')

# 修改Sheet工作表的名称
mysheet2.title
'Sheet3'

# 修改sheet标签颜色
mysheet2.sheet_properties.tabColor
"1072BA"

sheet.row_dimensions[1].height
= 7
  # 设置行高
单位 cm( 第一行行高7cm

sheet.column_dimensions['A'].width
= 14
 # 设置列宽
单位 cm(
A列列宽设置为14cm



# 复制Sheet工作表
sheet4
= work_book.copy_worksheet(mysheet2)

rows
= [
    ['Aliens', 2, 3, 4, 5, 6, 7],
    ['Humans', 10, 40, 50, 20, 10, 50],
]

# 新增数据
for row in rows:
    sheet4.append(row)

work_book.save("secondary.xlsx")


结果:


控制台输出:

Python 利用Python操作excel表格之openyxl介绍Part2的更多相关文章

  1. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  2. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  3. Python利用xlutils统计excel表格数据

    假设有像上这样一个表格,里面装满了各式各样的数据,现在要利用模板对它进行统计每个销售商的一些数据的总和.模板如下: 代码开始: 1 #!usr/bin/python3 2 # -*-coding=ut ...

  4. C++中利用libxl操作Excel表格

    libxl是一款操作excel的商业库,支持C.C++.C#和Delphi.下文利用libxl在C++中实现了从excel文档的表1中随机挑选记录,保存到新建的表中.以下为代码: #include & ...

  5. Python使用openpyxl操作excel表格

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 ht ...

  6. 用NPOI、C#操作Excel表格生成班级成绩单

    在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...

  7. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  8. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  9. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

随机推荐

  1. 爬虫不过如此(python的Re 、Requests、BeautifulSoup 详细篇)

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 爬虫的本质就是一段自动抓取互联网信息的程序,从网络获取 ...

  2. [原创]K8Cscan插件之Mysql密码爆破

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  3. 什么是web标准??

    web标准 不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentation)和行为(Behavior).对应的标准也分三方面:结构化标准语言主要 ...

  4. hibernate框架(2)---Hibernate的核心API

    Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...

  5. deque源码4(deque元素操作:pop_back、pop_front、clear、erase、insert)

    deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...

  6. Supervisor使用教程

    在项目中,经常有脚本需要常驻运行的需求.以PHP脚本为例,最简单的方式是: $ nohup php cli.php & 这样能保证当前终端被关闭或者按CRTL+C后,脚本仍在后台运行.但是没法 ...

  7. .Net程序员学用Oracle系列(19):导出、导入(备份、还原)

    1.传统的导出/导入工具 1.1.EXP 命令详解 1.2.IMP 命令详解 1.3.EXP/IMP 使用技巧 2.新的导出/导入工具 2.1.EXPDP/IMPDP 参数说明 2.2.EXPDP/I ...

  8. Spring Boot 简介

    作者其他Spring系列文章 Spring Framework简介 Spring框架快速入门  Spring Boot愿景 Spring Boot愿景就是让我们创建可运行的.独立的.基于Spring的 ...

  9. centos7编译linux的内核源码

    昨天编译了一个linux 内核源码,遇到一些问题, 今天把我遇到的问题和解决方法分享给大家.希望可以帮助到需要的人. 1.检查是否安装了相应的包 我第一次编译的时候只安装的“Development T ...

  10. 翻译:select into outfile(已提交到MariaDB官方手册)

    本文为mariadb官方手册:SELECT INTO OUTFILE的译文. 原文:https://mariadb.com/kb/en/select-into-outfile/ 我提交到MariaDB ...