python xlsxwriter模块的使用


Posted in Python onDecember 24, 2020

1.workbook类

add_worksheet

用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('测试详情')

add_format

用于在工作表中创建一个新的格式对象来格式化单元格

bold = workbook.add_format({
  'bold': 1,       #字体加粗
  'fg_color': 'green',  #单元格背景颜色
  'align': 'center',   #对齐方式
  'valign': 'vcenter',  #字体对齐方式
})

add_chart

用于在工作表中创建一个图表对象,内部通过insert_chart()方法来实现,参数为dict类型。

chart1 = workbook.add_chart({'type':'column'}) #选择竖状图

设置sheet表单元格的行高和列宽

set_row(row, height)方法,用于设定某一行单元格的行高

(row:指定行位置,起始下标为0;height:为float类型,设定行高,单位像素)

set_column(first_col, last_col, width)方法,用于设置一列或多列单元格的列宽

(irst_col:整型,指定开始列位置,起始下标为0;last_col:整型,指定结束列位置,起始下标为0;width:float类型,设置列宽)

set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始为A)

# 设置sheet表单元格列宽
ws.set_column(0,3,40) #设定第1到4列的列宽为40
ws.set_column("A:A", 40) #设定A列列宽为40
ws.set_column("B:D", 15) #设定B、C、D三列的列宽为15
ws.set_column("E:F", 50) #设定E、F列的列宽为50

#设置sheet表单元格行高
ws.set_row(0,40) #设置第一行的高度为40

向单元格中写入内容:write

write(row, col, data,cell_format)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)

write.string():写入字符串类型数据
wirte_number():写入数字型数据
write_blank():写入空类型数据
write_formula():写入公式型数据
write_datetime():写入日期型数据
wirte_boolean():写入逻辑型数据
write_url():写入超链接型数据

# 示例:
ws.write(1,1,"python操作excel") #在单元格1行1列中写入:“python操作excel”

2.chart类

chart类实图表组件,通过workbook的add_chart方法创建。

chart1 = workbook.add_chart({'type':'column'}) #选择竖状图

常见的图表样式如下:

  • area:面积样式的图表
  • bar:条形图
  • column:柱状图
  • line:线条样式的图表
  • pie:饼形图
  • scatter:散点图
  • stock:股票样式的图表
  • radar:雷达样式的图表

3.实例

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'Yinjia'

import xlsxwriter

#生成.xlsx文件
workbook = xlsxwriter.Workbook('test_table.xlsx')
#工作页
worksheet = workbook.add_worksheet('测试详情')
worksheet.set_tab_color('red')

#准备测试数据
bold = workbook.add_format({
  'bold': 1,       #字体加粗
  'fg_color': 'green',  #单元格背景颜色
  'align': 'center',   #对齐方式
  'valign': 'vcenter',  #字体对齐方式
})
headings = ['Number','Batch1','Batch2'] #设置表头
data = [
  [2,3,4,5,6,7],
  [10,40,50,20,10,50],
  [30,60,70,50,40,30],
]

#插入数据
worksheet.write_row('A1',headings,bold) #行插入操作
worksheet.write_column('A2',data[0]) #列插入操作
worksheet.write_column('B2',data[1])
worksheet.write_column('C2',data[2])

#插入直方图1
chart1 = workbook.add_chart({'type':'column'}) #选择竖状图
chart1.add_series({
  'name': '=测试详情!$B$1',
  'categories': '=测试详情!$A$2:$A$7',
  'values':  '=测试详情!$B$2:$B$7',#Y轴值
  'data_labels': {'value': True} #显示数字,就是直方图上面的数字,默认不显示
})

#注意上面写法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作页, $A$2:$A$7是从A2到A7数据,
#插入直方图2
chart1.add_series({
  'name': '=测试详情!$B$1',
  'categories': '=测试详情!$A$2:$A$7',
  'values':  '=测试详情!$C$2:$C$7',#Y轴值
  'data_labels': {'value': True}
})

chart1.set_title({'name': 'Chart with Data Table'}) #直方图标题
chart1.set_x_axis({'name': 'Test number'}) #X轴描述
chart1.set_y_axis({'name': 'Sample length (mm)'})#Y轴描述
chart1.set_table() #设置x轴为数据表格式
chart1.set_style(3)#直方图类型
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方图插入到 D2位置
workbook.close()

4.效果图

python xlsxwriter模块的使用

作者:YinJia
出处:http://www.cnblogs.com/yinjia/

以上就是python xlsxwriter模块的使用的详细内容,更多关于python xlsxwriter模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python Requests安装与简单运用
Apr 07 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
python3学生名片管理v2.0版
Nov 29 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
python实现代码统计器
Sep 19 Python
python groupby 函数 as_index详解
Dec 16 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
python异步Web框架sanic的实现
Apr 27 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
想学画画?python满足你!
Dec 24 #Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 #Python
用python获取txt文件中关键字的数量
Dec 24 #Python
举例讲解Python装饰器
Dec 24 #Python
python 基于opencv操作摄像头
Dec 24 #Python
python 基于selenium实现鼠标拖拽功能
Dec 24 #Python
python实现简单猜单词游戏
Dec 24 #Python
You might like
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
基于python socketserver框架全面解析
2017/09/21 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python进行文件对比的方法
2018/12/24 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
2015年前台个人工作总结
2015/04/03 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python