Python基于xlrd模块操作Excel的方法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python基于xlrd模块操作Excel的方法。分享给大家供大家参考,具体如下:

一、使用xlrd读取excel

1、xlrd的安装:

pip install xlrd==0.9.4

2、基本操作示例:

#coding: utf-8
import xlrd  #导入xlrd模块
xlsfile=r"D:\workspace\host.xls"
#获得excel的book对象
book = xlrd.open_workbook(filename=None, file_contents=xlsfile.read())
#也可以直接写成如下:
book = xlrd.open_workbook(xlsfile)
#获取sheet对象,有两种方法:
sheet_name = book.sheet_names()[0]  #获取指定索引的sheet的名字
print sheet_name
sheet1 = book.sheet_by_name(sheet_name)  #通过sheet名字来获取sheet对象
sheet0 = book.sheet_by_index(0)  #通过sheet索引获取sheet对象
#获取行数和列数:
nrows = sheet.nrows  #总行数
ncols = sheet.ncols  #总列数
#获得指定行、列的值,返回对象为一个值列表:
row_data = sheet.row_values(0)  #获得第1行的数据列表
col_data = sheet.col_values(0)  #获得第1列的数据列表
#通过cell的位置坐标获取指定cell的值:
cell_value1 = sheet.cell_value(0,1)  #只获取cell中的内容,如:http://xx.xxx.xx
print cell_value1
cell_value2 = sheet.cell_value(0,1)  #除了cell的内容,还有附加属性,如:text:u'http://xx.xxx.xx'
print cell_value2

二、使用xlwt模块写excel

1、安装:

pip install xlwt

2、基本操作:

#coding: utf-8
import xlwt
#创建一个wbk的对象,使用utf-8编码,并设定压缩比
wbk = xlwt.Workbook(encoding='utf-8', style_compression=0)
#添加一个sheet对象
sheet = wbk.add_sheet('sheet 1',cell_overwrite_ok=True) #第二个参数用于确认同一个cell单元是否可以重设值
sheet.write(0,0,'sometext') #往指定单元格写入数据
sheet.write(0,0,'overwrite') #覆盖写入,需要cell_overwrite_ok=True
#设定单元格风格,指定字体格式等
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = 'Times New Roman'
font.bold = True
style.font = font
sheet.write(0,1,'text', style)
wbk.save('D:\test.xls')  #该文件名必须存在

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python迭代器与生成器基本用法分析

本文实例讲述了Python迭代器与生成器基本用法。分享给大家供大家参考,具体如下: 迭代器 可以进行for循环的数据类型包括以下两种: 1. 集合数据类型比如list,tuple,dic...

python TCP Socket的粘包和分包的处理详解

python TCP Socket的粘包和分包的处理详解

概述 在进行TCP Socket开发时,都需要处理数据包粘包和分包的情况。本文详细讲解解决该问题的步骤。使用的语言是Python。实际上解决该问题很简单,在应用层下,定义一个协议:消息头...

Python3 chardet模块查看编码格式的例子

Python3 chardet模块查看编码格式的例子

如下所示: 需要注意的是,如果遇到GBK2312等编码的,在decode和encode时,一律使用GBK进行编码或者解码,这是因为GBK是其他GBK编码的超集,向下兼容所有的GBK编码...

python3+selenium实现126邮箱登陆并发送邮件功能

本文实例为大家分享了python3实现126邮箱登陆并发送邮件的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成126邮箱登陆并发送发邮件功能,暂时...

详谈Python2.6和Python3.0中对除法操作的异同

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。 X / Y类型: 在Python2.6或者之前,这个操作对于整数运算会省去小数部分...