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 ...
随机推荐
- eclipse创建的maven项目中使用javafx
类似普通maven项目,不需要特地创建javafx项目. 将fxml资源文件放在resource目录下即可.
- python中的pop
pop()将列表指定位置的元素移除,同时可以将移除的元素赋值给某个变量,不填写位置参数则默认删除最后一位 pop()根据键将字典中指定的键值对删除,同时可以将删除的值赋值给变量 举个例子: 1 a = ...
- maven 插件2
Maven is - at its heart - a plugin execution framework; all work is done by plugins. Maven 本质上就是一个插件 ...
- 关于 build tools
1.build tools是什么 Build Tools 即构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk).构建包括编译.连接跟把代码打包成可用的或 ...
- <记录> PHP Redis操作类
namespace common\controller; class Redis { public $redisObj = null; //redis实例化时静态变量 static protected ...
- selenium初次接触-1
10月30日 web自动化测试的两种方式:模拟整个http客户端(压力测试,取代浏览器和人,直接和服务端进行交互),模拟用户操作(功能测试,取代人) selenium是自动化浏览器的工具包,可以用于各 ...
- 10款流行的Markdown编辑器,总有一款适合你
摘要:作为一个开源人,如果你不会使用Markdown语法,那你就OUT了!Markdown 是 2004 年由 John Gruberis 设计和开发的纯文本格式的语法,非常的简单实用. 作为一个开源 ...
- js 验证码倒计时
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Spring注解标签详解@Autowired @Qualifier等
http://blog.csdn.net/wangsr4java/article/details/42777855 @Component.@Repository.@Service.@Controlle ...
- RxJava2.0学习笔记2 2018年7月3日 周二
摘记: 1.map -- 转换 有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...