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")返回
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<span style="font-family: 'courier new', courier;">import xlrdimport xlwtfrom xlutils.copy import copy# xlrdbook = xlrd.open_workbook("example.xls", formatting_info=True, on_demand=True)sheet = book.sheet_by_index(0)cell = sheet.cell(0,0)# xlwtworkbook = xlwt.Workbook()workbook.encoding = "utf-8" # Equals to workbook = xlwt.Workbook(encoding="utf-8")sheet = workbook.add_sheet("Sheet1", cell_overwrite_ok=True)style = xlwt.easyxf( "font: name Arial;" "pattern: pattern solid, fore_colour red;" )sheet.write(0, 0, "content of this cell", style)sheet.row(0).set_style(style)workbook.save("example.xls")#xlutilsworkbook = copy(book)</span> |
Reference
3. Working with Excel files in Python
Python处理Excel文档(xlrd, xlwt, xlutils)的更多相关文章
- 使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- $ 用python处理Excel文档(1)——用xlrd模块读取xls/xlsx文档
本文主要介绍xlrd模块读取Excel文档的基本用法,并以一个GDP数据的文档为例来进行操作. 1. 准备工作: 1. 安装xlrd:pip install xlrd 2. 准备数据集:从网上找到的1 ...
- $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档
Refer:<python自动化运维:技术与最佳实践> 更多用法参考xlsxwriter官方文档:http://xlsxwriter.readthedocs.io/ 本文主要总结一下如何使 ...
- 用Python操作excel文档
使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...
- 利用xlrd模块实现Python读取Excel文档
# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...
- 【Python】excel读写操作 xlrd & xlwt
xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() # ...
- Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合
今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自动生 ...
- Python -- xlrd,xlwt,xlutils 读写同一个Excel
最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...
- 1、关于python第三方工具操作xls和xlsx格式的excel文档选型的吐血经历
首先,最近看了python的一本书,其中第7章是关于文章操作的,就计划把python操作excel,word,txt,xml,html,json等格式的文档做个总结,并实现一些功能,但是,第一步就要把 ...
随机推荐
- TCP三次握手连接与四次握手断开
http://blog.csdn.net/whuslei/article/details/6667471(三次握手与四次握手) 1. TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机. 如 ...
- Windows 10触摸板手势
高級使用者試用 Windows 10 筆記本電腦的觸控板上的這些手勢: •選擇一項: 在觸控板上點擊. •滾動: 將兩根手指放在觸控板上,然後以水準或垂直方向滑動. •放大或縮小: 將兩根手指放在觸控 ...
- sqlserver 索引
什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...
- 转:如何理解c和c ++的复杂类型声明
本文作者girlrong是网易广州社区的C语言版版主,这篇文章被选在精华区.很是不错,不敢独享!据说她乐于助人,虚心诚恳,颇受网友欢迎.只可惜现在已退隐江湖了.在最近学习C语言过程中,了解些前辈大牛的 ...
- hdu1213 并查集
题意:有 n 个朋友,他们可能相互认识,A 认识 B,B 认识 C,则 ABC 相互认识,现在给出他们的认识情况,相互认识的人坐一桌,否则需要分开坐,问至少需要多少桌. 其实就是问并查集的个数,在初始 ...
- PHP的一些要点
1.用户评论的内容应当使用htmlspecialchars()函数进行过滤,如htmlspecialchars($_POST['content']);再写入数据库,防止用户评论中含有JS和HTML代码 ...
- Latex 编译错误: ! pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pd fstartlink. 解决方法
最近写 AAAI 的文章,下载了其模板,但是蛋疼的是,总是提示错误,加上参考文献总是出错: 如下: ! pdfTeX error (ext4): \pdfendlink ended up in dif ...
- GDB动态库搜索路径
当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot.set solib-absolute-prefix.set solib-search- ...
- 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版!
转--http://www.2cto.com/kf/201402/277535.html 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版! 2014-02-11 ...
- syslog-ng 安装
下载 Syslog-NG的rpm包, 地址 http://www.kevindeng.org/wp-content/uploads/2010/10/Syslog-NG.zip unzip解压 [ro ...