对python中的xlsxwriter库简单分析


Posted in Python onMay 04, 2018

一、xlsxwriter 基本用法,创建 xlsx 文件并添加数据

官方文档:http://xlsxwriter.readthedocs.org/

xlsxwriter 可以操作 xls 格式文件

注意:xlsxwriter 只能创建新文件,不可以修改原有文件。如果创建新文件时与原有文件同名,则会覆盖原有文件

Linux 下安装: sudo pip install XlsxWriter

Windows 下安装: pip install XlsxWriter

# coding=utf-8
from __future__ import division
import sys
import xlsxwriter
import xlrd
import datetime

output_file = u"D:\\python和shell脚本\\10969的代码\\test.xlsx"
wb = xlsxwriter.Workbook(output_file)
ws = wb.add_worksheet(u"活动标签")
ws.set_column('A:A', 20)
ws.set_column('B:B', 20)
ws.set_column('C:C', 20)
ws.set_column('D:D', 20)

ws.write(2, 0, "123")
wb.close()

二、xlsxwriter 格式处理,将待添加数据转换成相应的格式,添加到 xlsx 文件中

先设置格式,使用方法:workbook.add_format

再指定格式写入,使用方法:worksheet.write_string

#!/usr/bin/python
#coding: utf-8
from datetime import datetime
import xlsxwriter
workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()
#设定格式,等号左边格式名称自定义,字典中格式为指定选项
#bold:加粗,num_format:数字格式
bold_format = workbook.add_format({'bold':True})
money_format = workbook.add_format({'num_format':'$#,##0'})
date_format =workbook.add_format({'num_format':'mmmm d yyyy'})
#将二行二列设置宽度为15(从0开始)
worksheet.set_column(1, 1, 15)
#用符号标记位置,例如:A列1行
worksheet.write('A1', 'Item', bold_format)
worksheet.write('B1', 'Cost', bold_format)
worksheet.write('C1', 'Cost', bold_format)
expenses = (
 ['Rent', '2016-03-11', 1000],
 ['Gad', '2016-03-12', 100],
 ['Food', '2016-03-13', 400],
 ['Gym', '2016-03-14', 50],
)
row = 1
col = 0
for item, date_str, cost in (expenses):
 #将数据格式转化为Python datetime.datetime 格式
 #之后用write_datetime方法录入日期格式
 date = datetime.strptime(date_str, "%Y-%m-%d")
 #使用write_string方法,指定数据格式写入数据
 worksheet.write_string(row, col,  item)
 worksheet.write_datetime(row, col + 1, date, date_format)
 worksheet.write_number(row, col + 2, cost, money_format)
 row += 1
worksheet.write(row, 0, 'Total',  bold_format)
worksheet.write(row, 1, '=SUM(B2:B5)', money_format)
workbook.close()

三、xlsxwriter 添加表格,在 xlsx 文件中添加表格

#!/usr/bin/python
#coding: utf-8
import xlsxwriter
workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
#新建图标对象
chart = workbook.add_chart({'type': 'column'})
#向 excel 中写入数据,建立图标时要用到
data = [
 [1, 2, 3, 4, 5],
 [2, 4, 6, 8, 10],
 [3, 6, 9, 12, 15],
]
worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])
worksheet.write_column('C1', data[2])
#向图表中添加数据,例如第一行为:将A1~A5的数据转化为图表
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
chart.add_series({'values': '=Sheet1!$C$1:$C$5'})
#将图标插入表单中
worksheet.insert_chart('A7', chart)
workbook.close()

四、更多可用的单元格式对象(Format Class)

ecxel 中每一个单元,都有如下属性:字体(fonts)、颜色(colors)、模式(patterns)、边界(borders)、alignment、number formatting

设置属性:

format = workbook.add_format()
#用对象接口设置格式属性
format.set_bold()
format.set_font_color('red')
#用字典设置格式属性
property = {
 'bold': True,
 'font_color': 'red'
}
format = workbook.add_format(property)

以上这篇对python中的xlsxwriter库简单分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
Python 转义字符详细介绍
Mar 21 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
利用Pyhton中的requests包进行网页访问测试的方法
Dec 26 Python
Python数据分析模块pandas用法详解
Sep 04 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
Python 如何测试文件是否存在
Jul 31 Python
Python如何将模块打包并发布
Aug 30 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 #Python
Python实现获取前100组勾股数的方法示例
May 04 #Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
Python 中的Selenium异常处理实例代码
May 03 #Python
Python读写/追加excel文件Demo分享
May 03 #Python
windows下安装Python的XlsxWriter模块方法
May 03 #Python
python使用openpyxl库修改excel表格数据方法
May 03 #Python
You might like
用PHP编程语言开发动态WAP页面
2006/10/09 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
实例解析Array和String方法
2016/12/14 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
个人求职简历中英文自我评价
2013/12/16 职场文书
部队万能检讨书
2014/02/20 职场文书
会计求职信
2014/05/29 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
python_tkinter弹出对话框创建
2022/03/20 Python