一、安装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 osfilename = "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,datetimefilename = "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,datetimefilename = "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,datetimefilename = "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,datetimefilename = "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 osfilename = "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一列-python读取excel(xlrd)

    一.安装xlrd模块: 1.mac下打开终端输入命令: pip install xlrd 2.验证安装是否成功: 在mac终端输入 python 进入python环境 然后输入 import xlrd ...

  2. python读取Excel文件是报(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo

    python读取Excel文件是报(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo ...

  3. python读取excel写入数据库_python实现读取excel写入mysql的小工具详解

    Python是数据分析的强大利器 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python如何读取excel,并使 ...

  4. Python读excel——xlrd

    Python读excel--xlrd Python读取Excel表格,相比xlwt来说,xlrd提供的接口比较多,但过程也有几个比较麻烦的问题,比如读取日期.读合并单元格内容. 下面先看看基本的操作: ...

  5. python读取excel日期内容读出来是数字-Python读取Excel,日期列读出来是数字的处理...

    Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用. 通过判断读取表格的数据类型ctype,进一步处理. 返回的单元格内容的类型有5种: ctype: 0 empty ...

  6. python读取excel表格-python读写Excel表格的实例代码(简单实用)

    安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...

  7. python读取excelsheet-一文看懂用Python读取Excel数据

    原标题:一文看懂用Python读取Excel数据 导读:现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上). Python处理Excel文件主要 ...

  8. python读取excel某一列内容-Python读取Excel数据并根据列名取值

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

  9. python读取excel表格-python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  10. python画柱状图和折线图-Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

最新文章

  1. sql server 怎么实现mysql中group_concat,列转行,列用分隔符拼接字符串
  2. mysql构架,索引,视图,查询语句
  3. 会计的思考(20):还原会计报表的企业个性之四(持续经营)
  4. MOS管好坏的判别方法
  5. 720不能建立远程计算机连接,有高手知道错误720:不能建立到远程计算机的连接这个问题怎么解决? 爱问知识人...
  6. CONFIGURE RETENTION POLICY
  7. python sys.argv[]用法
  8. [JavaWeb-MySQL]多表查询练习
  9. Java的FTP协议级客户端实现详解
  10. spark的数三角形算法_Spark任务调度概述
  11. Qt4_Hello world
  12. 无聊时对连分数的思考
  13. html简单网页代码 案例_HTML+CSS静态网页练习案例(转动的八卦图)
  14. 计算机耗材设备管理系统,云南省审计厅计算机耗材管理系统分析与设计
  15. 批量/去掉office 2010 Word中标题前的黑点
  16. 【操作系统】第十一章-多媒体操作系统
  17. 【黑马程序员】vue学习笔记(未完)
  18. Flurry使用初级教程
  19. hdu 4190 Distributing Ballot Boxes
  20. 基于gpg的fwknop配置流程

热门文章

  1. Atitit 知识点 文章 框架 结构 attilax总结.docx
  2. Atitit 技术管理项目管理的职责列表attilax总结 v2 r74 brch4com.docx
  3. atitit.atiHtmlUi web组件化方案与规范v1
  4. atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
  5. paip.云计算以及分布式计算的区别
  6. paip.c++ qt 图片处理 检测损坏的图片
  7. paip.svn使用小结
  8. paip.使用泛型时未能找到类型或命名空间名称“T
  9. 硬盘分区后的逻辑结构
  10. (转载)lib 和 dll 的区别、生成以及使用详解