xlrd xlwt操作

简介



xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具。其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改。

(以下属性或方法并非全部,需要更多属性请参看文档;建议先参考文末Demo,再深入了解)

xlrd


Book(class) 由xlrd.open_work("example.xls")返回

nsheets: sheets数
sheet_names: sheet名称列表
sheets: sheet列表
sheet_by_index(sheetx): 按序号提取sheet
sheet_by_name(sheet_name): 按名称提取sheet

Sheet(class) 由Book object相关方法返回

name:                         sheet名
nrows: 行数
ncols: 列数
cell(rowx,colx): 第rows行colx列的单元格
cell_type(rowx,colx): 数据类型
cell_value(rows,colx): 数值
col(colx): 第colx列所有单元格组成的列表
col_slice(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格组成的列表
col_types(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值类型组成的列表
col_values(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值组成的列表
row同样有col的各项操作,此处略去

Cell(class) 由Sheet object(s)相关方法返回

ctype: 一个int型变量,对应不同的数值类型
value: 单元格的值

xlwt


Workbook(class) 由xlwt.Workbook()返回

encoding: 编码方案
add_sheet(sheet_name): 添加sheet
get_sheet(Sheet_name): 选择sheet
save(file_name): 保存

Worksheet(class) 由Workbook object相关方法返回

write(rows,colx,cell_value,style): 编辑单元格
row(rowx).write(colx,cell_value,style): 编辑行
flush_row_data(): 减少内存压力,flush之前行不可再修改
col(colx),write(rows,cell_value,style): 编辑列

easyxf(function) 创建XFStyle instance,格式控制

expression syntax: (<element>:(<attribute> <value>,)+;)+
<element> - <attribute> - <value>:
(加粗为默认格式,以下所列并非全部)
font - bold - True or False
- colour - {colour}
- italic - True or False
- name - name of the font, Arial
- underline - True or False

alignment - direction - general, lr, rl
- horizontal - general, left, center, right, filled 
- vertical - bottom, top, center, justified, distributed
- shrink_to_fit - True or False

bolders - left - an integer width between 0 and 13
- right - an integer width between 0 and 13
- top - an integer width between 0 and 13
- bottom - an integer width between 0 and 13
- diag - an integer width between 0 and 13
- left_colour - {colour}*, automatic colour
- right_colour - {colour}*, automatic colour
- ...

pattern - back_color - {colour}*, automatic colour
- fore_colour - {colour}*, automatic colour
- pattern - none, solid, fine_dots, sparse_dots

{colous}*: black, (dark_)(light_)blue, gold, (dark_)(light_)green, ivory, lavender,

(light_)orange, pink, (dark_)red, rose, violet, white, (dark_)(light_)yellow, ...

xlutils



copy: 将xlrd.Book转为xlwt.Workbook
styles: 读取xlrd.Workbook的每一个单元格的style
display: 简单而安全地呈现xlrd读取的数据
filter: 拆分与整合多个xls文件
margins: 查看表格稀疏程度
save: 序列化xlrd.Book,转存为binary xls或stream

Tips



1. xlrd.open_workbook(fomatting_info=):当formatting_info=Ture,读取workbook并保留格式

2. xlrd.open_workbook(on_demand=): 当on_demand=True,只有被要求时才将worksheet载入内存,读取大文件时使用

3. xlwt.Worksheet.flush_row_data(): 减少内存占用,被刷新的行不能再访问或修改,建议每1000行刷新一次(若列很多当调整)

4. xlwt.Workbook(encoding=): 选择创建的workbook的编码

Demo


+

Reference



1. The xlrd Module

2. The xlwt Module

3. Working with Excel files in Python

来源: http://www.cnblogs.com/fireme/p/3887284.html

来自为知笔记(Wiz)

时间: 2024-10-30 08:39:54

xlrd xlwt操作的相关文章

python+xlrd+xlwt操作excel

介绍 xlrd(读操作),xlwt(写操作) 上述软件下载后,分别解压,之后在cmd命令下分别进入对应的目录中运行 python setup.py install 如果运行过程中提示缺少setuptools,则先运行python ez_setup.py之后在重复上面的步骤 PS:office的版本不要用太高的,建议最好用03版本的,且后缀为xls的 源码bug修复 安装好xlwt3后,找到formula.py文件,将其中的 __slots__ = ["__init__", "

【转】python操作excel表格(xlrd/xlwt)

[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pyp

Python处理Excel文档(xlrd, xlwt, xlutils)

简介 xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具.其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改. (以下属性或方法并非全部,需要更多属性请参看文档:建议先参考文末Demo,再深入了解) xlrd Book(class) 由xlrd.open_work("example.xls"

xlrd/xlwt与openpyxl的读写效率比较

之前写过python中xlrd/xlwt与openpyxl处理Excel的文章,也提到过两者的主要区别在于写入操作,其中xlwt针对Ecxec2007之前的版本,即.xls文件,其要求单个sheet不超过65535行,而openpyxl则主要针对Excel2007之后的版本(.xlsx),它对文件大小没有限制.另外就是两者读写速度存在差异,为了比较它们的差异,特别做了以下测试: 测试一:xlrd与openpyxl的读取速度差异 ?? 由于文件较小时,两者差别不明显,因此这里选取了一个137732

自己总结python用xlrd\xlwt读写excel

1.首先安装xlrd\xlwt模块 xlrd模块下载地址: https://pypi.python.org/pypi/xlrd xlwt模块下载地址: https://pypi.python.org/pypi/xlwt linux 安装命令 python setup.py install windos 安装命令 setup.py install 2.使用方法大全 基础方法推荐请看这里: http://blog.csdn.net/mr__fang/article/details/7089581 简

【Python】excel读写操作 xlrd &amp; xlwt

xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() #返回所有sheet的列表 workbook.sheet_by_index(...) #通过index来获得一个sheet对象,index从0开始算起 workbook.sheet_by_name(...) #根据sheet名获得相应的那个sheet对象 在得到sheet对象之后,就可以用它的一些方法

python中使用xlrd、xlwt操作excel

python 对 excel基本的操作如下: # -*- coding: utf-8 -*- import xlrd import xlwt from datetime import date,datetime def read_excel(): # 打开文件 workbook = xlrd.open_workbook(r'F:\demo.xlsx') # 获取所有sheet print workbook.sheet_names() # [u'sheet1', u'sheet2'] sheet2

【python】操作excel——xlrd xlwt xlutils

from xlutils.copy import copy import xlrd # import xlutils #打开已存在的excel rb=xlrd.open_workbook('D:\\1.xls',formatting_info=True, on_demand=True) rs=rb.sheet_by_index(0).cell(0,0).value #复制 wb=copy(rb) #插入or修改数据 wb.get_sheet(0).write(1,0,'7') #保存(保存的路径

python xlrd xlwt

1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? ?python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 今天就先来说一下xlrd模块: 一.安装xlrd模块 ? 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. ?或者在cmd窗口  pip install  xlrd 二.使用介绍 ? 0