使用Python xlwt写excel文件
如果需要使用Python写Excel文件,首先下载或者安装xlwt。
pip install xlwt
下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件:
创建工作簿(workbook)和工作表(sheet):
import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet Name")
写单元格(cell):
sheet.write(0, 0, 'foobar') # row, column, value
对单元格应用样式(加粗为例):
style = xlwt.easyxf('font: bold 1')
sheet.write(0, 0, 'foobar', style)
设置列宽:
要设置列宽,你必须将宽度属性设为 256*NUM_CHARS,其中256等于0字符的宽度。
sheet.col(0).width = 256 * (len(key) + 1)
# set width.. 256 = 1 width of 0 character
对单元格应用多重样式:
需要注意每一个文档的样式应该限制在4k以内,这意味着你不应该为每一个单元格初始化一个样式,而是应该复用它们(阅读后面的内容可以看到一个简单的缓存解决方案)
style = xlwt.easyxf('font: bold 1, color red;'))
sheet.write(0, 0, 'foobar', style)
应用货币样式:
要设置货币,在easyxf函数里添加关键词参数num_format_str,或者在返回的样式对象里设置属性。
style = easyxf(num_format_str='$#,##0.00')
# or set it directly on the style object
style = easyxf('font: bold 1')
style.num_format_str = '$#,##0.00'
sheet.write(0, 0, '100.00', style)
写Excel公式:
使用xlwt.Formula可以很容易地写Excel公式。
sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://yujitomita.com"; "click me")'))
保存:
workbook.save("foobar.xls")
# done!
使用陷阱(GOTCHAS):
下面是一些常见的使用陷阱的解决方案。
禁止覆盖单元格:
我实际上非常喜欢这一特性—它防止了单元格被覆盖,所以我不止遇到过一次脚本运行失败的情况。话又说回来,你为什么要覆盖单元格呢?
# to overwrite cells, create the sheet with kwarg cell_overwrite_ok
workbook.add_sheet('foobar', cell_overwrite_ok=True)
有效的工作表命名:
- 工作表的名称必须小于31个字符
- 命名不应包含特殊字符,例如‘:’, ‘/’等
每文档4k样式限制:
如果你了解规则,应用单元格样式就是小菜一碟。
由于文档中的样式内容不能超过4k,所以我创建了一个缓存easyxf函数,它在创建一个新样式之前,首先会尝试从缓存中拉取一个已有的样式。
class MyClass(object):
kwd_mark = object()
def cached_easyxf(self, string='', **kwargs):
if not hasattr(self, '_cached_easyxf'):
self._cached_easyxf = {}
key = (string,) + (self.kwd_mark,) + tuple(sorted(kwargs.items()))
return self._cached_easyxf.setdefault(key, xlwt.easyxf(string, **kwargs))
Easyxf 字符串格式:
我做了一些小实验来找出通用格式。
例如,接收一个空格分隔的键值对数组的字符串格式。
‘KEY: KEY-VALUE VALUE, KEY-VALUE VALUE; KEY2: KEY-VALUE2 VALUE2′
sheet.write(0, 0, xlwt.easyxf('font: bold 1')) # bold
sheet.write(0, 0, xlwt.easyxf('font: bold 1, color: blue, underline single'))
外文原文链接: http://yuji.wordpress.com/2012/04/19/python-xlwt-writing-excel-files/
使用Python xlwt写excel文件的更多相关文章
- python xlwt写excel格式控制 颜色、模式、编码、背景色
关于写excel的格式控制,比如颜色等等 import xlwt from datetime import datetime font0 = xlwt.Font() font0.name = 'Tim ...
- Python xlwt 写Excel相关操作记录
1.安装xlwt pip install xlwt 2.写Excel必要的几步 import xlwt book = xlwt.Workbook() #创建一个workbook,无编码设置编码book ...
- python xlwt写Excel表
1 xlwt第三方库 说明:xlwt是一个用于将数据和格式化信息写入并生成Excel文件的库. 注意:xlwt不支持写xlsx表,打开表文件报错. 官方文档:https://xlwt.readthed ...
- python xlrd,xlwt 读写excel文件
python 读excel文件,需要xlrd库.下载地址:https://pypi.python.org/pypi/xlrd python 写excel文件,需要xlwt库.下载地址:https:// ...
- python读、写、修改、追写excel文件
三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
- xlwt:python的写excel模块
最近工作时碰到了将数据导出,生成一个excel表,对其中的部分数据进行统计,并给其中部分符合条件的数据添加对应的背景颜色的功能需求,于是乎,对Python中写excel的模块xlwt研究了一下,在工作 ...
- Python3 读、写Excel文件
首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). 一个工作簿就是一个独立的文件 一个工作簿里面可以有1 ...
- Python使用读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
随机推荐
- 安装mongodb
安装mongodb的时候遇到一些麻烦 首先将安装包下下来 安装的是windows版本的 将bin文件夹加入环境变量后通过mongod和mongo指令就可以进行操作,很方便 用指令mongod --db ...
- H5横向三栏布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- linux 安装 ftp
1 安装 vsftpd 查看是否已经安装 vsftpd rpm -qa | grep vsftpd 如果没有 则安装 安装命令如下 yum -y install vsftpd 设置开机启动 chkc ...
- iOS开发UI篇—在UItableview中实现加载更多功能
一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...
- hdoj 4323
题意:给你n个数,m个查询,查询中包括一个数和一个最大编辑距离d,问n个数中和这个数的编辑距离不超过d的有多少个 编辑距离:http://baike.baidu.com/view/2020247.ht ...
- 在Mac OSX 10.10 上安装opencv
http://blog.csdn.net/wdkirchhoff/article/details/41910553 在Mac OSX上如果想使用OpenCV,可以通过自己手动编译源码的方式,但比较繁琐 ...
- [Java Basics] Reflection
For every type of object, the Java virtual machine instantiates an immutable instance of java.lang.C ...
- 数组第K小数问题 及其对于 快排和堆排 的相关优化比较
题目描述 给定一个整数数组a[0,...,n-1],求数组中第k小数 输入描述 首先输入数组长度n和k,其中1<=n<=5000, 1<=k<=n 然后输出n个整形元素,每个数 ...
- 黑马程序员:Java编程_面向对象
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 面向对象和面向过程都是一种思想,面向过程强调的是功能行为,面向对象是将功能封装进 ...
- iOS-Gdata XML解析配置和简单使用
简单介绍使用废话少说直接上图就能看明白... 导入libxml2,使用第三方AFNetworking网络请求,第三方XML解析GData GData需要的配置 Build Settings 里搜索,添 ...