python(读取 excel 操作 xlrd 模块)
一、安装 xlrd 模块
- 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境。
- 或者在 cmd 窗口 pip install xlrd
二、excel 读取操作
1.常用的函数
- excel 中最重要的方法就是 book 和 sheet 的操作
1)获取 book 中一个工作表
#coding=utf-8
import xlrd
data = xlrd.open_workbook("d:\\test.xls") #打开excel文件
print (data.sheets()[0]) #通过索引顺序获取sheet对象
print (data.sheet_by_index(0)) #通过索引顺序获取sheet对象
print (data.sheet_by_name("Sheet1")) #通过名称获取sheet对象
print (data.sheet_names()) #返回book中所有工作表的名字
#结果如下
--> <xlrd.sheet.Sheet object at 0x0000000003D969B0>
--> <xlrd.sheet.Sheet object at 0x0000000003D969B0>
--> <xlrd.sheet.Sheet object at 0x0000000003D969B0>
--> [u'Sheet1', u'Sheet2', u'Sheet3']
#coding=utf-8
import xlrd
book = xlrd.open_workbook("C:\\Users\\Administrator\\Desktop\\aaa.xls")
sheet = book.sheets()[0]
#通过for循环遍历取出excel表中第一列所有的数据
for i in range(sheet.nrows):
print (sheet.row_values(i)[0])
2)行的操作
- nrows #获取该 sheet 中的有效行数
- row(row_index) #返回由该行中所有的单元格对象组成的列表
- row_slice(row_index, start_colx=0, end_colx=None) #默认返回由该行中所有的单元格对象组成的列表(结果只能返回 end_colx 前值)
- row_values(row_index, start_colx=0, end_colx=None) #默认返回由该行中所有单元格的数据组成的列表(结果只能返回 end_colx 前值)
- row_len(index) #返回该行的有效单元格长度
#coding=utf-8
import xlrd
data = xlrd.open_workbook("d:\\test.xls")
sheet = data.sheets()[0]
print (sheet.nrows) #获取该sheet中的有效行数
print (sheet.row(0)) #返回由该行中所有的单元格对象组成的列表
print (sheet.row_slice(0)) #默认返回由该行中所有的单元格对象组成的列表
print (sheet.row_values(0,1)) #默认返回由该行中所有单元格的数据组成的列表
print (sheet.row_len(0)) #索引值为0的行中有效单元格有几个
#结果如下
--> 10
--> [text:u'user1', text:u'pwd1']
--> [text:u'user1', text:u'pwd1']
--> [u'pwd1']
--> 2
3)列(colnum)的操作
- ncols #获取列表的有效列数
- col(col_index, start_rowx=0, end_rowx=None) #默认返回由该列中所有的单元格对象组成的列表(结果只能返回 end_rowx 前值)
- col_slice(col_index, start_rowx=0, end_rowx=None) #默认返回由该列中所有的单元格对象组成的列表(结果只能返回 end_rowx 前值)
- col_values(col_index, start_rowx=0, end_rowx=None) #默认返回由该列中所有单元格的数据组成的列表(结果只能返回 end_rowx 前值)
#coding=utf-8
import xlrd
data = xlrd.open_workbook("d:\\test.xls")
sheet = data.sheets()[0]
print (sheet.ncols) #获取列表的有效列数
print (sheet.col(0,0,2)) #返回第一行和第二行的单元格对象组成的列表
print (sheet.col_slice(0,0,2)) #返回第一行和第二行的单元格对象组成的列表
print (sheet.col_values(0,0,2)) #返回第一行和第二行的单元格数据组成的列表
#结果如下
--> 2
--> [text:u'user1', text:u'user2']
--> [text:u'user1', text:u'user2']
--> [u'user1', u'user2']
4)单元格的操作
- cell(row_index,col_index) #返回单元格对象
- cell_value(row_index,col_index) #返回单元格中的数据
#coding=utf-8
import xlrd
data = xlrd.open_workbook("d:\\test.xls")
sheet = data.sheets()[0]
print (sheet.cell(0,0)) #返回第一行第一列单元格对象
print (sheet.cell_value(0,0)) #返回第一行第一列单元格中的数据
#结果如下
--> text:u'user1'
--> user1
5)读取 excel 方法封装
#coding=utf-8
import xlrd
class ReadExcel():
def __init__(self,file,sheet_i):
self.book = xlrd.open_workbook(file)
self.sheet = self.book.sheet_by_index(sheet_i)
def getValue(self,row_i,col_i):
"""
获取excel单元格数据
"""
return self.sheet.cell_value(row_i,col_i)
def getRows(self):
"""
获取有效行数
"""
return self.sheet.nrows
def getCols(self):
"""
获取有效列数
"""
return self.sheet.ncols
2.单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。单个数据的输入和修改都是在单元格中进行的如:
注意:注意作用域问题,之前获取的 sheet 之后,都在获取到这个 sheet 值后,在进行,行和列以及单元格的操作。
问题现象:
- 使用 open() 函数、xlrd.open_workbook() 函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。
- 获取 sheet 时若包含中文,也会报错。
#打开文件
file = open(filename,'rb') #打开excel文件
workbook = xlrd.open_workbook(filename) #获取sheet
sheet = workbook.sheet_by_name(sheetname)
解决方案:
- 对参数进行转码即可。如:
filename = filename.decode('utf-8')
- 也试过 unicode 函数,不过,在 ride 中运行时出现了报错,所以不赞成使用
filename = unicode(filename,'utf-8')
python(读取 excel 操作 xlrd 模块)的更多相关文章
- python(读取excel操作-xlrd模块)
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口 pip install ...
- Python 读取Excel之xlrd篇
上一期给大家分享了如何用Python读取文本,这次给大家分享如何读取Excel表格内容,拿最常见的.xlsx和.xls格式来讲解. 本章主要知识点有: 读取整篇excel返回list[list[lis ...
- Python学习笔记:读取Excel的xlrd模块
一.安装xlrd 可以使用命令行安装也可使用pycharm进行安装 表示xlrd库已经安装成功,安装成功后,我们就可以导入使用了. 二.xlrd说明 (1.单元格常用的数据类型包括 0:empty(空 ...
- Python 读取Excel数据 xlrd
#导入相关模块 from xlrd import open_workbook #打开excel file = open_workbook("test.xlsx") #获取sheet ...
- 利用xlrd模块实现Python读取Excel文档
# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...
- [转] Windows下使用Python读取Excel表格数据
http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...
- Python对Excel操作详解
Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
随机推荐
- tf.nn.softmax_cross_entropy_with_logits 分类
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 参数: logits:就是神经网络最后一层的输出,如果有batch ...
- Redis学习一:Redis两种持久化机制
申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 Redis是基于内存来实现的NO SQL数据库,但是我么你都 ...
- MyBatis-Plus使用小结
官网: https://mybatis.plus/ https://gitee.com/baomidou/mybatis-plus https://github.com/baomidou/mybati ...
- 关于连接内部服务器以及redis缓存基本操作
1.linux命令行远程连接内部服务器 ssh -p 6637 mndevops@172.18.11.183 //建立连接命令 端口号和用户名+ip 输入密码 ./redis-cli 进入redis数 ...
- CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架
作者:蒋天园 Date:2020-04-18 来源:3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/p ...
- Python递归爬取头条用户的所有文章、视频
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- summary && scenarios
小组中期总结 项目目标: 我们的目标是制作一款pdf阅读器的必应查词插件,帮助大家在阅读英文资料的时候查单词更加的方便并且可以帮助人们英语学习. 痛点:对于在电脑上现在屏幕取词软件已经做得相当好了,所 ...
- 杭电1080 J - Human Gene Functions
题目大意: 两个字符串,可以再中间任何插入空格,然后让这两个串匹配,字符与字符之间的匹配有各自的分数,求最大分数 最长公共子序列模型. dp[i][j]表示当考虑吧串1的第i个字符和串2的第j个字符时 ...
- vue2.x学习笔记(十八)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12629705.html. 处理边界情况 这里记录的都是和处理边界情况有关的功能,即一些需要对vue的规则做一些小调 ...
- Windows DC域控由server08r2升级至server2016测试
测试环境 原DC: csctest.com CSCDC01 192.168.100.1 server08r2 CSCDC02 192.168.100.2 server08r2 要求: 原两台旧主机均更 ...