对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脚本来获取Cisco设备信息的示例
May 04 Python
python生成器表达式和列表解析
Mar 10 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
浅谈Python使用Bottle来提供一个简单的web服务
Dec 27 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
python 实现二维列表转置
Dec 02 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 Python
Python局部变量与全局变量区别原理解析
Jul 14 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
Python内置函数——__import__ 的使用方法
2017/11/24 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python实现Windows电脑定时关机
2018/06/20 Python
Python实现网站表单提交和模板
2019/01/15 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Django用户身份验证完成示例代码
2020/04/03 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
内部类的定义、种类以及优点
2013/10/16 面试题
心理健康教育制度
2014/01/27 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers