xlsxwriter去掉网格线_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...
前面分享了使用xlsxwriter创建excel和写入数据GUC:(原创)xlsxwriter,python excel 写入数据\图表等操作_创建、写入(一)zhuanlan.zhihu.com
xlsxwrite除了常规数据操作,还可以灵活,精细的操作图表,这也为吸引我要分享的原因之一,对于固定格式报表可以自动输出,大大提升日常的办公效率
先用上一篇文章的方法写入数据
import xlsxwriter
wb = xlsxwriter.Workbook("e:\\xlsxwriter\\filename.xlsx")
ws = wb.add_worksheet("案例")
# 数据
data = [
('地区','1月销售量','2月销售量'),
('广州',52641,45641,),
('上海',65444,54584,),
('北京',57485,65484,),
('深圳',42314,85214,)
]
#字段格式
header = {
'bold' : True, #粗体
'font_name' : '微软雅黑',
'font_size' : 10,
'border' : True, #边框线
'align' : 'center', #水平居中
'valign' : 'vcenter', #垂直居中
'bg_color' : '#66DD00' #背景颜色
}
text = {
'font_name' : '微软雅黑',
'font_size' : 9,
'border' : True,
'align' : 'left', #左对齐
'valign' : 'vcenter'
}
headerpm = wb.add_format(header)
textpm = wb.add_format(text)
ws.set_column('C:C',13) #C列宽度
for row,rowdata in enumerate(data):
for col,coldata in enumerate(rowdata):
if row==0:
ws.write(row,col,coldata,headerpm)
else:
ws.write(row, col, coldata, textpm)
wb.close()
结果数据如下:
使用Workbook的add_chart()方法创建图表对象,以字典表的方式传入参数
chart = workbook.add_chart({'type': 'column'}) #创建一个柱状图
type表示要创建的图表类型,值及对应类型如下:area:面积图
bar:条形图
column:柱状图
line:折线图
pie:饼图
doughnut:圆环图
scatter:散点图
stock:股价图
radar:雷达图
使用add.series()数据系列添加的图表,以字典表的方式传入参数
data1 = {
'name': '案例!$B$1',
'categories' : '案例!$A$2:$A4',
'values' : '案例!$B$2:$B4'
}name:该数据系列的名称 ,可以填写引用单元格值,也可以直接填写值
categories:图表类别标签
values:该数据系列的值
values选项为必须,其他选项为可选
categories、values可以使用单元格的名称,也可以使用行/列索引表示,即[所在的sheet名, 首行索引, 首列索引, 尾行索引,尾列索引 ]
以下表示同上
data1 = {
'name': '1月销售量',
'categories' : ['案例',1,0,4,0],
'values' : ['案例',1,1,4,1]
}
图表中增加数据系列
chart.add_series(data1)
使用Worksheet的insert_chart()方法插入工作表中,需指定起始位置
ws.insert_chart('B8',chart) #在B10单位格位置插入图表
结果如下
再插入2月销售量数据系列
data1 = {
'name': '案例!$B$1',
'categories' : '案例!$A$2:$A4',
'values' : '案例!$B$2:$B4'
}
data2 = {
'name': '案例!$C$1',
'categories' : '案例!$A$2:$A4',
'values' : '案例!$C$2:$C4'
}
chart.add_series(data1)
chart.add_series(data2)
ws.insert_chart('B8',chart)
结果如下
再美化一下表格
'overlap' : -20
overlap:两个数据系列之间重叠的距离,范围+/-100,默认值为0,适用于条形图/柱状图
如下图红框的距离
'gap' : 100
gap:在条形图/柱形图中数据系列之间的间隔。范围是0-500。默认值是150
如下图红框的距离
'data_labels' : {'value':True,'font':{'name':'微软雅黑','size':9}}
添加数据标签,并设置数据标签的字体为微软雅黑,大小为9
如下图红框部分
设置X轴参数,斜体,大小10,加粗
chart.set_x_axis(
{
'num_font': {'italic': True,'size':11,'bold':True,}
}
)
结果见下图
设置Y轴参数,去除Y轴及背景网格线
chart.set_y_axis(
{
'major_gridlines':{'visible':False}, #去除Y轴背景网格线
'visible':None #去除Y轴
}
)
结果如下图
设置图表标题
chart.set_title(
{
'name':'1-2月销售量',
'name_font': {'name': '微软雅黑'}
}
)
结果如下图
设置图表大小,宽620,高350
chart.set_size({'width':620,'height':350})
结果如下图
sheet完整如下图
去掉图表边框
chart.set_chartarea({'border':{'none':True}})
结果如下图
隐藏工作表网格线
ws.hide_gridlines(2)
#参数0,不隐藏
#参数1,仅隐藏打印的网格线
#参数2,隐藏屏幕和打印的网格线
结果如下图
最后附上完整代码
import xlsxwriter
wb = xlsxwriter.Workbook("e:\\xlsxwriter\\filename.xlsx")
ws = wb.add_worksheet("案例")
# 数据
data = [
('地区','1月销售量','2月销售量'),
('广州',52641,45641,),
('上海',65444,54584,),
('北京',57485,65484,),
('深圳',42314,85214,)
]
#字段格式
header = {
'bold' : True, #粗体
'font_name' : '微软雅黑',
'font_size' : 10,
'border' : True, #边框线
'align' : 'center', #水平居中
'valign' : 'vcenter', #垂直居中
'bg_color' : '#66DD00' #背景颜色
}
text = {
'font_name' : '微软雅黑',
'font_size' : 9,
'border' : True,
'align' : 'left', #左对齐
'valign' : 'vcenter'
}
headerpm = wb.add_format(header)
textpm = wb.add_format(text)
ws.set_column('C:C',13) #C列宽度
for row,rowdata in enumerate(data):
for col,coldata in enumerate(rowdata):
if row==0:
ws.write(row,col,coldata,headerpm)
else:
ws.write(row, col, coldata, textpm)
chart = wb.add_chart({'type': 'column'})
data1 = {
'name': '案例!$B$1',
'categories' : '案例!$A$2:$A4',
'values' : '案例!$B$2:$B4',
'overlap' : -20,
'gap' : 100,
'data_labels' : {'value':True,'font':{'name':'微软雅黑','size':9}}
}
data2 = {
'name': '案例!$C$1',
'categories' : '案例!$A$2:$A4',
'values' : '案例!$C$2:$C4',
'data_labels': {'value': True, 'font': {'name': '微软雅黑', 'size': 9}}
}
chart.set_x_axis(
{
'num_font': {'italic': True,'size':11,'bold':True,}
}
)
chart.set_y_axis(
{
'major_gridlines':{'visible':False},
'visible':None
}
)
chart.set_title(
{
'name':'1-2月销售量',
'name_font': {'name': '微软雅黑'}
}
)
chart.set_size({'width':620,'height':350})
chart.set_chartarea({'border':{'none':True}})
ws.hide_gridlines(2)
chart.add_series(data1)
chart.add_series(data2)
ws.insert_chart('B8',chart)
wb.close()
xlsxwriter去掉网格线_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...相关推荐
- python写入excel表格数据绘制图表_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...
前面分享了使用xlsxwriter创建excel和写入数据GUC:(原创)xlsxwriter,python excel 写入数据\图表等操作_创建.写入(一)zhuanlan.zhihu.com ...
- python xlwt写入数据超过范围限制_用xlrd包读取Excel文件-尽量不用xlwt包写入Excel文件最多能支持65536行数据。...
1. 引有包 import xlrd1 打开文件 data = good_ivy = xlrd.open_workbook(r'商品库存.xls')1 2 获取你要打开的sheet文件 # table ...
- Python利用xlsxwriter实现对Excel写入数据的样式调整(字体,居中等)
声明:参考大佬文章 参考网上资料发现很少有用xlsxwriter实现用Python对Excel写入数据的同时进行字体样式调整操作的,因为我用的也是xlsxwriter,所以查找总结了一个用xlsxwr ...
- python的excel操作_通过实例学习Python Excel操作
这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 读取Excel ? 1 ...
- Python入门到实战(五)自动化办公、pandas操作Excel、数据可视化、绘制柱状图、操作Word、数据报表生成、pip install国内镜像下载
Python入门到实战(五)conda使用.pandas操作Excel.数据可视化.绘制柱状图.操作Word.数据报表生成.pip install国内镜像下载 conda使用 常用操作 配置VS+Co ...
- C#如何向EXCEL写入数据
C#如何向EXCEL写入数据 我按着微软技术支持网上的方法写入数据:使用"自动化"功能逐单元格传输数据,代码如下: // Start a new workbook in Excel ...
- js向excel写入数据的案例
要在 JavaScript 中向 Excel 写入数据,您可以使用第三方库来实现.其中一种可行的方法是使用 SheetJS 库.它是一个开源库,可以在浏览器中读写 Excel 文件. 以下是一个简单的 ...
- JAVA 向带有公式的excel写入数据,获取公式计算结果
JAVA 向带有公式的excel写入数据,获取公式计算结果 public static void main(String[] args) throws Exception {String url = ...
- python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
- 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
最新文章
- SFB 项目经验-30-SFB与SFB联盟-IM-正常-状态-不正常
- VMware虚拟机下安装Ubuntu16.04镜像完整教程
- MyBatis-Plus_查询返回实体对象还是map?
- 用soapUI测试webservice
- 更自由的阿里云API工具JCLI
- 白云区五措施扶持服务外包及呼叫中心产业发展
- redis mysql原理_Canal(redis与mysql数据一致性)
- 双指针 -- 验证回文串
- 使用qq邮箱服务器来实现laravel的邮件发送
- 镁光固态硬盘用什么软件测试寿命,最简单的方法:如何查看SSD可以使用多长时间?固态硬盘寿命测试方法[详细]...
- Excel自定义函数
- 测试工具(一)——Abbot 测试SWT
- C#实现自动升级(附源码)
- 在Android终端模拟器中操作adb调试命令
- lisp pl线线段数_编写lisp程序多条多段线连接成一条多段线
- 关于学习Qt编程的好书精品推荐
- MEM/MBA数学强化(07)几何
- .Net Core 6.0 解决跨域
- JavaCV音视频开发宝典:JavaCV混合屏幕录屏和系统声音录制mp4视频文件(windows桌面屏幕和系统声音混合录制)
- 繁易平台对接阿里云平台: MQTT方式