一、安装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: [, , , ]

By_name:

By_index:

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 import xlrd 报错_python读取excel(xlrd)相关推荐

  1. python import random 报错_Python import random报错处理办法

    python安装失败:make的时候报错: /usr/include/tkDecls.h:1542: error: expected ')' before '*' token /usr/include ...

  2. python import requests报错_import requests 出错,搜了很多,没解决,求教.

    requests 依赖的库都已经安装了. Requirement not upgraded as not directly required: chardet<3.1.0,>=3.0.2 ...

  3. python read函数报错_python 使用read_csv读取 CSV 文件时报错

    读取csv文件时报错 df = pd.read_csv('c:/Users/NUC/Desktop/成绩.csv' ) Traceback (most recent call last): File ...

  4. python查询mysql decimal报错_python读取MySQL数据表时,使用ast模块转换decimal格式数据的坑...

    概述 MySQL中常用的数据格式有tinyint().int().float().double().decimal() .varchar.enum().datetime;小数格式中decimal比较常 ...

  5. python 读取 docx 报错_python读取docx文件,就是如此简单

    中文编码问题总是让人头疼(尤其是mac本),想要用Python读取word中的内容.用open()经常报错,通过百度搜索+问身边小伙伴发现了Python有专门读取.docx的模块python_docx ...

  6. python后面空格报错_python空格报错

    广告关闭 提供包括云服务器,云数据库在内的50+款云计算产品.打造一站式的云产品试用服务,助力开发者和企业零门槛上云. 异常taberror缩进时引发的标签和空格不一致. 这是一个子类indentat ...

  7. python双引号报错_Python中select语句中的双引号”“怎么处理

    我把MySQL的语句中放在了Python中(我用的Pycharm),有个sql语句是如下:insertinto`level-1metric`(`Year`,`SupplyChain`,`Region` ...

  8. python打包exe报错_python 程序打包为 windows 可执行程序 exe

    1,使用到的程序 1,python 2,pyinstaller 2,安装 pyinstaller pip install pyinstaller 3,安装可能出现的问题与报错 1:AttributeE ...

  9. python怎么读出当前时间_Python读取Excel,日期列读出来是数字的处理

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

最新文章

  1. Python正在吞噬世界
  2. Grafana关键表结构分析
  3. go run/ go install/ go build / go get的区别
  4. Linux下系统函数open,read,write,lseek函数
  5. QT绘制具有向下钻取效果的园饼图
  6. hive数据库numeric_hive中常用的函数
  7. Deep Learning(深度学习) 学习笔记(四)
  8. 帝国备份王(Empirebak) \class\functions.php、\class\combakfun.php GETSHELL vul
  9. java 鼠标拖动_java 让表项支持鼠标拖动移位,并自动滚动滚动条
  10. 雅思作文模板.html,雅思小作文常用模板万能句大全
  11. 关于AD导Gerber文件的理解和总结
  12. 赫兹的单位换算_单位换算大全!
  13. ExtJS中的renderTo何applyTo的差别
  14. 卡内基梅隆大学计算机专业录取难,卡内基梅隆大学申请难度分析
  15. ES6——let-const的变量声明以及模板字符串
  16. 常用贷款词汇英文名称
  17. (2021年)IT技术分享社区个人文章汇总(编程技术篇)
  18. 苹果致力于手势再生研发,无须使用控制器即可与 ARKit 交互?
  19. 用计算机设置变大的命令按钮 vb,2017年9月计算机二级考试VB考试题
  20. php dsa算法,openssl_private_encrypt使用DSA算法生成的密钥无法加密

热门文章

  1. 工程和模块的关系以及继承和依赖的概念
  2. Java实现消息消费
  3. EJB和JavaBean的区别
  4. Redisson框架框架集成
  5. 设计模式之_动态代理_01
  6. 方法重写(override)注意事项和使用细节
  7. python文件下载器代码_GitHub - applechi/pythonCollection: python代码集合(文件下载器、pdf合并、极客时间专栏下载、掘金小册下载、新浪微博爬虫等)...
  8. JAVA数据类型及字符编码
  9. Tomcat之Windows下安装
  10. 2017 JMP Discovery Summit China圆满落幕