对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 相关文章推荐
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
python实现俄罗斯方块
Jun 26 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
Jun 18 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
numpy实现RNN原理实现
Mar 02 Python
Python利用capstone实现反汇编
Apr 06 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
RequireJs的使用详解
2017/02/19 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python游戏地图最短路径求解
2019/01/16 Python
使用pip安装python库的多种方式
2019/07/31 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
院药学专业个人求职信
2013/09/21 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
解除合同协议书
2014/04/17 职场文书
施工协议书范本
2014/04/22 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
走进毛泽东观后感
2015/06/04 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技