一、安装xlrd模块:

1、mac下打开终端输入命令:

pip install xlrd

2、验证安装是否成功:

  • 在mac终端输入 python  进入python环境
  • 然后输入 import xlrd

  不报错说明模块安装成功

二、常用方法:

1、导入模块:

import xlrd

2、打开文件:

x1 = xlrd.open_workbook("data.xlsx")

3、获取sheet:

  • 获取所有sheet名字:x1.sheet_names()
  • 获取sheet数量:x1.nsheets
  • 获取所有sheet对象:x1.sheets()
  • 通过sheet名查找:x1.sheet_by_name("test”)
  • 通过索引查找:x1.sheet_by_index(3)
# -*- coding:utf-8 -*-

import xlrd
import os filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename) print filePath # 1、打开文件
x1 = xlrd.open_workbook(filePath) # 2、获取sheet对象
print 'sheet_names:', x1.sheet_names() # 获取所有sheet名字
print 'sheet_number:', x1.nsheets # 获取sheet数量
print 'sheet_object:', x1.sheets() # 获取所有sheet对象
print 'By_name:', x1.sheet_by_name("test") # 通过sheet名查找
print 'By_index:', x1.sheet_by_index(3) # 通过索引查找

输出:

sheet_names: [u' plan', u'team building', u'modile', u'test']
sheet_number: 4
sheet_object: [<xlrd.sheet.Sheet object at 0x10244c190>, <xlrd.sheet.Sheet object at 0x10244c150>, <xlrd.sheet.Sheet object at 0x10244c110>, <xlrd.sheet.Sheet object at 0x10244c290>]
By_name: <xlrd.sheet.Sheet object at 0x10244c290>
By_index: <xlrd.sheet.Sheet object at 0x10244c290>

4、获取sheet的汇总数据:

  • 获取sheet名:sheet1.name
  • 获取总行数:sheet1.nrows
  • 获取总列数:sheet1.ncols
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)
print filePath # 打开文件
x1 = xlrd.open_workbook(filePath) # 获取sheet的汇总数据
sheet1 = x1.sheet_by_name("plan")
print "sheet name:", sheet1.name # get sheet name
print "row num:", sheet1.nrows # get sheet all rows number
print "col num:", sheet1.ncols # get sheet all columns number

输出:

sheet name: plan
row num: 31
col num: 11
 5、单元格批量读取:
 a)行操作:
  • sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
  • sheet1.row(0)           # 获取单元格值类型和内容
  • sheet1.row_types(0)   # 获取单元格数据类型
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename) x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan") # 单元格批量读取
print sheet1.row_values(0) # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
print sheet1.row(0) # 获取单元格值类型和内容
print sheet1.row_types(0) # 获取单元格数据类型
输出:
[u'learning plan', u'', u'', u'', u'', u'', u'', u'', 123.0, 42916.0, 0]
[text:u'learning plan', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', number:123.0, xldate:42916.0, bool:0]
array('B', [1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4])

b) 表操作

  • sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
  • sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
  • sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容
  • sheet1.row_types(1, 0, 2)   # 获取单元格数据类型
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename) print filePath # 1、打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan") # 列操作
print sheet1.row_values(0, 6, 10) # 取第1行,第6~10列(不含第10表)
print sheet1.col_values(0, 0, 5) # 取第1列,第0~5行(不含第5行)
print sheet1.row_slice(2, 0, 2) # 获取单元格值类型和内容,同sheet1.row(0)
print sheet1.row_types(1, 0, 2) # 获取单元格数据类型

输出:

[u'', u'', 123.0, 42916.0]
[u'learning plan', u'\u7f16\u53f7', 1.0, 2.0, 3.0]
[number:1.0, text:u'\u7ba1\u7406\u5b66\u4e60']
array('B', [1, 1])
 
6、特定单元格读取:
 a) 获取单元格值:
  • sheet1.cell_value(1, 2)
  • sheet1.cell(1, 2).value
  • sheet1.row(1)[2].value
b) 获取单元格类型:
  • sheet1.cell(1, 2).ctype
  • sheet1.cell_type(1, 2)
  • sheet1.row(1)[2].ctype
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename) x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan") # 特定单元格读取
# 取值
print sheet1.cell_value(1, 2)
print sheet1.cell(1, 2).value
print sheet1.row(1)[2].value #取类型
print sheet1.cell(1, 2).ctype
print sheet1.cell_type(1, 2)
print sheet1.row(1)[2].ctype
 
7、(0,0)转换A1:
  • xlrd.cellname(0, 0)   # (0,0)转换成A1
  • xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
  • xlrd.colname(30)  # 把列由数字转换为字母表示
# -*- coding:utf-8 -*-

import xlrd
import os filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename) # 打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan") # (0,0)转换成A1
print xlrd.cellname(0, 0) # (0,0)转换成A1
print xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
print xlrd.colname(30) # 把列由数字转换为字母表示

输出:

A1
$A$1
AE
8、数据类型:
  • 空:0
  • 字符串:1
  • 数字:2
  • 日期:3
  • 布尔:4
  • error:5
 
 




python读取excel(xlrd)的更多相关文章

  1. python 读取excel Xlrd模块

    1. 安装xlrd模块 我使用pip安装: cmd ->切换到pip安装所在路径->pip install xlrd->回车 2. 使用 2.1:打开Excel表 导入模块:  im ...

  2. 利用xlrd模块实现Python读取Excel文档

    # -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...

  3. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  4. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  5. python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

  6. python读取excel中单元格的内容返回的5种类型

    (1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...

  7. python读取excel,数字都是浮点型,日期格式是数字的解决办法

    excel文件内容: 读取excel: # coding=utf-8 import xlrd import sys reload(sys) sys.setdefaultencoding('utf-8' ...

  8. 记录:python读取excel文件

    由于最近老是用到python读取excel文件,所以特意记录一下python读取excel文件的大体框架. 库:xlrd(读),直接pip安装即可.想要写excel文件的话,安装xlwd库即可,也是直 ...

  9. python操作excel xlrd和xlwt的使用

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

随机推荐

  1. sql重点题

    --https://blog.csdn.net/weixin_39718665/article/details/78161013/*1.用系统管理员登陆,我这里用户名是system,密码是manage ...

  2. rc.local(ubuntu18.04)

    系统自带服务/lib/systemd/system/rc-local.service 软连接为 /lib/systemd/system/rc.local.service -> rc-local. ...

  3. 色彩空间-- RGB\HSV

    颜色空间 标签(空格分隔): 计算机视觉 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间. RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Sat ...

  4. Django之第三方登陆模块

    Django之第三方登陆模块 前期准备 安装 django-allauth pip install django-allauth 注意,django-allauth 需要在 Django1.10以上版 ...

  5. oracle中to_timestamp和to_date什么区别

    date类型是Oracle常用的日期型变量,时间间隔是秒.两个日期型相减得到是两个时间的间隔,注意单位是“天”. timestamp是DATE类型的扩展,可以精确到小数秒(fractional_sec ...

  6. Windows下的Hadoop安装(本地模式)

    时隔许久的博客.. 系统为Windows 10,Hadoop版本2.8.3. 虽然之前已经在Linux虚拟机上成功运行了Hadoop,但我还是在Windows上编码更加习惯,所以尝试了在Window上 ...

  7. VMware5.5-vCenter的安装准备及安装

    vSphere 最近公司来了新同事,为了帮助他尽快熟悉VM-vsphere,一块复习了下,并把实验总结为文档. 声明:本例是以王隆杰老师的vsphere5.5教程为基础和线索进行的,由于时间匆忙,可能 ...

  8. 第2讲——wiz

    PC端信息收集 网页剪藏 win+s 屏幕截图:win+printscreen微博收集:@mywiz  @我的印象笔记 按ESC隐藏/恢复左边导航栏 F11全屏阅读  打标签:解决文件夹重叠问题 搜索 ...

  9. JavaScript之中Array用法的一些技巧总结

    1.创建一个全部为0,长度为100的数组(ES6) Array(10).fill(0) 2.创建一个长度为100的数组,其中保存0 ~ 99 let array = Array(100).fill(0 ...

  10. migrate数据库迁移

    可先参看博友的博文:https://segmentfault.com/a/1190000005599416 由于Yii migrate 生成的迁移文件默认是存放在 console/migrations ...