python生成Excel图表(通过xlsxwriter)
第一步:处理数据
bugnum_terminal = {
"Android的BUG数": [bugnum_android],
"iOS的BUG数": [bugnum_ios],
"server的BUG数": [bugnum_server],
"FE的BUG数": [bugnum_fe]
}
def parsedata(self, dictdata, columns=[]):
result = []
if columns == []:
keys = dictdata.keys()
else:
keys = columns
result.append([key for key in keys])
values = []
for key in keys:
values.append(dictdata[key]) values = zip(*values)
for value in values:
result.append(list(value))
return result
第二步:将数据插入Excel中
workbook = xlsxwriter.Workbook(“Excel名字.xlsx”)
worksheet = workbook.add_worksheet(name=“sheet表单的名字,不填写就默认为sheet1")
worksheet.write_row( row, col, data, cell_format=None)
worksheet.write_column(row, col, data, cell_format=None)
worksheet.write_row("A1", 一行数据, 样式(非必填项))
bold = workbook.add_format({'bold': 1})
for row in range(len(data)): # 将数据插入excel中
if row == 0:
print(data[row])
worksheet.write_row("A" + str(row+1), data[row], bold)
worksheet.write_column()
else:
worksheet.write_row("A" + str(row+1), data[row])
第三步:生成图表
- area: Creates an Area (filled line) style chart.
- bar: Creates a Bar style (transposed histogram) chart.
- column: Creates a column style (histogram) chart.
- line: Creates a Line style chart.
- pie: Creates a Pie style chart.
- doughnut: Creates a Doughnut style chart.
- scatter: Creates a Scatter style chart.
- stock: Creates a Stock style chart.
- radar: Creates a Radar style chart.
chart.add_series({
'categories': '=Sheet1!$A$1:$A$5',
'values': '=Sheet1!$B$1:$B$5',
'line': {'color': 'red’},
'name':'=各端BUG数汇总_图表!$A$3'
})
chart.add_series({
'categories': ['Sheet1', 0, 0, 4, 0],
'values': ['Sheet1', 0, 1, 4, 1],
'line': {'color': 'red'},
'name':['Sheet1', 0, 0],
'data_labels': {'value': True}
})
chart.add_series({
'categories': '=(Sheet1!$A$1:$A$9,Sheet1!$A$14:$A$25)',
'values': '=(Sheet1!$B$1:$B$9,Sheet1!$B$14:$B$25)',
})
chart.set_title({'name': ‘图标名字'})
chart.set_style(10)
chart.height=600
chart.width=960
worksheet.insert_chart('A7', chart)方法插入数据
chartsheet = workbook.add_chartsheet()
chartsheet.set_chart(chart)
chart = workbook.add_chart({'type': 'column'})
chart.add_series({
'categories': '=各端BUG数汇总_图表!$A$1:$' + dataarray.getrowname_end() + '$1',
'values': '=各端BUG数汇总_图表!$A$2:$' + dataarray.getrowname_end() + '$2',
'name':'=各端BUG数汇总_图表!$A$3'
})
chart.set_title({'name': '各端BUG数汇总'})
chart.set_style(10)
worksheet.insert_chart('B10', chart)

column_chart = workbook.add_chart({'type': 'column'})
column_chart.add_series({
'name': '=Sheet1!B1',
'categories': '=Sheet1!A2:A7',
'values': '=Sheet1!B2:B7',
})
line_chart = workbook.add_chart({'type': 'line'})
line_chart.add_series({
'name': '=Sheet1!C1',
'categories': '=Sheet1!A2:A7',
'values': '=Sheet1!C2:C7',
})
column_chart.combine(line_chart)
column_chart.set_table({'show_keys': True})

python生成Excel图表(通过xlsxwriter)的更多相关文章
- JAVA生成EXCEL图表
跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...
- 使用poi和jfreechart生成excel图表图片
最近项目在频繁的操作excel,里边涉及到很多和图表有关的东西.有时候需要使用java操作excel自带的图标,比较复杂的我们都是使用excel模板的形式实现. 除此之外,也有一些功能只需要生成对应的 ...
- Python绘制Excel图表
今天讲解下如何使用Python绘制各种Excel图表,下面我们以绘制饼状图.柱状图.水平图.气泡图.2D面积图.3D面积图为例来说明. import openpyxlfrom openpyxl imp ...
- python生成excel测试数据
在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...
- 小兴趣:用python生成excel格式座位表
脚本分两个文件: 1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py 先上GenerateLocaltion.py: impor ...
- 是用Epplus生成Excel 图表
1. 前言 这是我最近项目刚要的需求,然后在网上找了半天的教材 但是很不幸,有关于Epplus的介绍真的太少了,然后经过了我的不断研究然后不断的采坑,知道现在看到Excel都想吐的时候,终于成功的 ...
- 使用Epplus生成Excel 图表
1. 前言 这是我最近项目刚要的需求,然后在网上找了半天的教材 但是很不幸,有关于Epplus的介绍真的太少了,然后经过了我的不断研究然后不断的采坑,知道现在看到Excel都想吐的时候,终于成功的 ...
- python生成excel格式座位表
脚本分两个文件: 1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py 先上GenerateLocaltion.py: impor ...
- 【JAVA】POI生成EXCEL图表(柱状图、折线等)
1.使用excel工具自带的图形工具创建一个图: 2.绑定数据区域: 3.数据区域绑定完成,我们要做的就是将数据写入到数据区域中: 4.标记 5.POI 引入包 <!-- https://mvn ...
随机推荐
- 代码:PC 链接列表面板border的一种做法(每行之间有分割线)
PC 链接列表面板,border的一种做法 做页面经常遇到一种问题,上面是标题,下面是单行链接列表.为了保证后台套页面方便,所有列表项必须完全一样.但我们无法解决第一行或最后一行多出来的分割线. 使用 ...
- 白鹭引擎 - 文本类型 ( TextField, )
1, 普通文本 class Main extends egret.DisplayObjectContainer { public constructor() { super(); this.addEv ...
- Linux上VNC常见命令
参考链接: http://blog.csdn.net/russle/article/details/4757888 http://www.linuxidc.com/Linux/2016-06/1320 ...
- Swoole 进程管理
用法: $process = new swoole_process(function(){ //这里写业务代码 },true) //开启进程,返回进程pid $pid = $process->s ...
- Centos代理上网设置
原文链接:http://m.blog.csdn.net/article/details?id=51851677 一.centos自带界面设置代理 1. 界面设置 squid默认代理端口3128. 2 ...
- [转] golang socket
server.go package main import ( "net" "fmt" "io/ioutil" "time&quo ...
- ubuntu防火墙命令初探
1.防火墙的状态与开关 1)$sudo ufw status //查看防火墙的状态及当前的设置规则 2)$sudo ufw enable //开启防火墙 3)$sudo ufw disable // ...
- 机器学习进阶-边缘检测-Canny边缘检测 1.cv2.Canny(进行Canny边缘检测)
1. cv2.Canny(src, thresh1, thresh2) 进行canny边缘检测 参数说明: src表示输入的图片, thresh1表示最小阈值,thresh2表示最大阈值,用于进一步删 ...
- leetcode 题解 word search。递归可以更简洁。
先写上我的代码: 我总是不知道何时把任务交给下一个递归.以致于,写出的代码很臃肿! 放上别人递归的简洁代码: bool exist(char** board, int m, int n, char* ...
- C++复习:对C的拓展
简单的C++程序 求圆的周长和面积 数据描述: 半径,周长,面积均用实型数表示 数据处理: 输入半径 r: 计算周长 = 2*π*r : ...