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 ...
随机推荐
- 7.纯 CSS 创作一个 3D 文字跑马灯特效
原文地址:https://segmentfault.com/a/1190000014663038 感想:简单的从右到左动画 HTML代码: <div class="box"& ...
- 《算法》第五章部分程序 part 8
▶ 书中第五章部分程序,包括在加上自己补充的代码,适用于基因序列的 2-Bit 压缩算法,行程长压缩算法,Huffman 压缩算法,LZW 压缩算法 ● 适用于基因序列的 2-Bit 压缩算法 pac ...
- Python基础5 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- ssm学习的第一个demo---crm(2)
第四步: 别名不区分大小写:入参为基本类型,#{可以随便写} 把静态资源(jsp.css.js.fonts)导入到项目中 第五步: 创建Contrller类(和普通j ...
- Gson 解决时间解析问题
异常: at org.eclipse.jdt.) at org.eclipse.jdt.) Caused by: java.text.ParseException: Failed to parse d ...
- ribbbitMq 教程,详细
https://blog.csdn.net/hellozpc/article/details/81436980
- AS3 - 对文件和目录的操作
1,写入到文件 1 2 3 4 5 var fileObj:File = File.documentsDirectory.resolvePath("hangge.txt"); va ...
- byobu session window split
new session: Ctrl + Shift + F2 window: F2 split: Shift/Ctrl + F2 move session: Alt + Up/Down window ...
- Servlet基本_画面遷移
画面遷移方法は.下記ようがある.・リクエストのディスパッチ・リダイレクト(画面から) 1.ディスパッチ1)概念サーブレットから他のリソース(サーブレット.JSP.Htmlなど)にリクエストを転送するこ ...
- docker之container
转自:https://www.cnblogs.com/jsonhc/p/7760144.html 运行一个container的本身就是开启一个具有独立namespace的进程 进程有自己的网络,文件系 ...