Python学习笔记—pyExcelerator库和xlrd库

本文详细对比了Python中用于处理Excel文件的两个库——pyExcelerator和xlrd。重点介绍了它们各自的功能、优缺点及应用场景,特别是pyExcelerator适用于数据写入,而xlrd则更擅长于数据读取。同时,文章还提供了实用的示例代码,帮助读者更好地理解和应用这两个库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python处理excel文件主要使用两个库:pyExcelerator 和 xlrd。两个库虽然都具备读写excel文件的功能,但显然是各有千秋,总结一下大概就是:pyExcelerator适合写入数据,而xlrd则适合读取数据。

一、pyExcelerator库的介绍

pyExcelerator读取数据不方便,因为它不提供表格的行数、列数、单元格数据类型等关键信息的访问接口,也不支持空数据的存在,因此你没法对它进行循环操作。它读取数据的机制是这样的:sheets=parse_xls(filename)  这个sheets返回的是一个列表,每一项是一张sheet的数据,每一项本身是一个二元组的数据结构(表名,单元格数据),单元格数据又是一个字典结构,key是单元格的索引(i,j),value是单元格的数据。总结一下,如果你想获取此excel文件的第N张工作表的第i行第j列的单元格数据,则应该是这样:sheets[n][1][(i,j)]。

而当要将数据写入excel时,我们就可以使用pyExcelerator来操作,很方便,一些操作示例:

from pyExcelerator import *
w=Workbook()  #创建工作簿
ws=w.add_sheet('Sheet1')  #添加工作表
ws.write(i,j,value)  #写入单元格   
w.save('book.xls')

二、xlrd库的介绍

相比之下,xlrd库读取数据则要方便的多,下面是一些使用范例:

import xlrd
wb = xlrd.open_workbook('book.xls')  #打开文件
sh = wb.sheet_by_index(0) #获得工作表的方法1
sh = wb.sheet_by_name('Sheet1') #获得工作表的方法2
cellA1Value = sh.cell_value(i, j) #获得单元格数据
columnValueList = sh.col_values(i) #获得一列的数据
row_count=sh.nrows #获得行数
col_count=sh.ncols  #获得列数

但需要注意的是:xlrd库目前似乎还不支持excel2007版本,故使用时要注意处理的excel文件版本。

http://newliu.com/post/16/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值