对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 selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
Python类的动态修改的实例方法
Mar 24 Python
详细分析python3的reduce函数
Dec 05 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python 阶乘累加和的实例
Feb 01 Python
Python之指数与E记法的区别详解
Nov 21 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
如何理解python面向对象编程
Jun 01 Python
如何创建一个Flask项目并进行简单配置
Nov 18 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的安全策略
2006/10/09 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
python中字符串类型json操作的注意事项
2017/05/02 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
python实现简易云音乐播放器
2018/01/04 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
python仿抖音表白神器
2019/04/08 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
安全标准化实施方案
2014/02/20 职场文书
安全宣传标语口号
2014/06/06 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
离职证明范本
2015/06/12 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android