1 xlrd第三方库

注意:xlrd较新版本不支持读xlsx表,需安装1.2.0版本(pip install xlrd==1.2.0)或使用其他库。

xlrd库官方文档:https://xlrd.readthedocs.io/en/latest/

2 xlrd基础演示

import xlrd

# 获取工作䈬workbook对象
book = xlrd.open_workbook("Excel表.xlsx")
print("Excel文件中sheet数量:{0}".format(book.nsheets))
print("Excel文件中sheet名称列表:{0}".format(book.sheet_names()))
# 获取工作表sheet对象
sh_ = book.sheet_by_name("sheet1") # 通过sheet名称获取
sh = book.sheet_by_index(0) # 通过sheet索引获取
print("sheet名称:{0} 总行数:{1} 总列数:{2}".format(sh.name, sh.nrows, sh.ncols))
print("所有单元格值组成的二维列表:{0}".format(sh._cell_values))
print("------------------------单元格操作-------------------------")
print("B2单元格对象:{0}".format(sh.cell(rowx=1, colx=1)))
print("B2单元格的值:{0}".format(sh.cell_value(rowx=1, colx=1)))
print("B2单元格的值:{0}".format(sh.cell(rowx=1, colx=1).value))
print("B2单元格的格式:{0}".format(sh.cell_type(rowx=1, colx=1)))
print("B2单元格的格式:{0}".format(sh.cell(rowx=1, colx=1).ctype))
print("单元格格式映射:0-empty,1-string,2-number,3-date,4-boolean,5-error")
print("------------------------行操作-------------------------")
print("第一行所有单元格对象组成的列表:{0}".format(sh.row(rowx=0)))
print("第一行所有单元格数据组成的列表:{0}".format(sh.row_values(rowx=0)))
print("第一行中第二列至第三列单元格数据组成的列表:{0}".format(sh.row_values(rowx=0, start_colx=1, end_colx=3)))
print("------------------------列操作-------------------------")
print("第一列所有单元格对象组成的列表:{0}".format(sh.col_slice(colx=0)))
print("第一列所有单元格数据组成的列表:{0}".format(sh.col_values(colx=0)))
print("第一列中第二行至第三行单元格数据组成的列表:{0}".format(sh.col_values(colx=0, start_rowx=1, end_rowx=3)))

返回结果:

Excel文件中sheet数量:2
Excel文件中sheet名称列表:['sheet1', 'Sheet2']
sheet名称:sheet1 总行数:5 总列数:5
所有单元格值组成的二维列表:[['A-1', 'B-1', 'C-1', 'D-1', 'E-1'], ['A-2', 'B-2', 'C-2', 'D-2', 'E-2'], ['A-3', 'B-3', 'C-3', 'D-3', 'E-3'], ['A-4', 'B-4', 'C-4', 'D-4', 'E-4'], ['A-5', 'B-5', 'C-5', 'D-5', 'E-5']]
------------------------单元格操作-------------------------
B2单元格对象:text:'B-2'
B2单元格的值:B-2
B2单元格的值:B-2
B2单元格的格式:1
B2单元格的格式:1
单元格格式映射:0-empty,1-string,2-number,3-date,4-boolean,5-error
------------------------行操作-------------------------
第一行所有单元格对象组成的列表:[text:'A-1', text:'B-1', text:'C-1', text:'D-1', text:'E-1']
第一行所有单元格数据组成的列表:['A-1', 'B-1', 'C-1', 'D-1', 'E-1']
第一行中第二列至第三列单元格数据组成的列表:['B-1', 'C-1']
------------------------列操作-------------------------
第一列所有单元格对象组成的列表:[text:'A-1', text:'A-2', text:'A-3', text:'A-4', text:'A-5']
第一列所有单元格数据组成的列表:['A-1', 'A-2', 'A-3', 'A-4', 'A-5']
第一列中第二行至第三行单元格数据组成的列表:['A-2', 'A-3']

3 单元格数据类型

​ 说明:单元格有以下5种数据类型:empty,string,number,date,,boolean,error

3.1 单元格数据类型读取演示

xlrd读取效果:

 ['', 'hello', 7.0, 44295.0, 0]
  • xlrd将所有数字类型读取为浮点数:7→7.0
  • 布尔类型:FALSE→0,TRUE→1
  • date时间类型读取为长浮点数:2021年4月9日→44295.0

3.2 date类型处理

import xlrd

book = xlrd.open_workbook("Excel表.xlsx")  # 获取工作䈬对象
sh = book.sheet_by_index(1) # 获取第二个工作表对象
date = sh.cell(0, 0).value # 获取单元格A1的值
print("先获取A1单元格的值: {0}".format(date))
print("再通过xldate_as_datetime方法转换: {0}".format(xlrd.xldate_as_datetime(date, 0)))
print("strftime方法截取日期: {0}".format(xlrd.xldate_as_datetime(date, 0).strftime("%Y-%m-%d")))
print("xldate_as_tuple方法获取时间组成的元组: {0}".format(xlrd.xldate_as_tuple(date, 0)))

返回结果:

先获取A1单元格的值: 44295.521099537
再通过xldate_as_datetime方法转换: 2021-04-09 12:30:23
strftime方法截取日期: 2021-04-09
xldate_as_tuple方法获取时间组成的元组: (2021, 4, 9, 12, 30, 23)

python xlrd读Excel表的更多相关文章

  1. python中使用xlrd读excel使用xlwt写excel

    原文地址 :http://www.bugingcode.com/blog/python_xlrd_read_excel_xlwt_write_excel.html 在数据分析和运营的过程中,有非常多的 ...

  2. python 读excel表操作

    import xlrd # 打开文件 data = xlrd.open_workbook('测试表.xlsx') # 查看工作表 data.sheet_names() print("shee ...

  3. python 之 处理excel表的xlwt模块学习记录

    python 操作excel表的常用模块主要有2个: 1:xlrd:读取excel表 2:xlwt:创建并写入excel表 安装方法: 可以直接下载安装:https://pypi.python.org ...

  4. python实现导出excel表(前端+后端)

    之前在做项目管理系统的时候需要实现将数据导出到excel表的功能,搜索之后发现了python的xlwt模块可以很好的实现这项功能. 首先是导入xlwt模块: import xlwtfrom io im ...

  5. python xlrd读取excel常用方法

    最近学习了python操作excel,记录下常用方法. 需要安装xlrd模块, 打开cmd,输入命令:pip install xlrd  进行安装,若已安装显示如下: xlrd读取excel常用方法如 ...

  6. python xlrd 读取excel.md

    文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw 之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel, ...

  7. python xlrd对excel的读取功能

    工作簿 xlrd.open_workbook('test.xls') workbook.dump() workbook.nsheets workbook.sheets() workbook.sheet ...

  8. python脚本从excel表到处数据,生成指定格式的文件

    #coding:gbk #导入处理excel的模块 import xlrd #定义哪些字段须要推断,仅仅支持时间字段 toSureColArray = ['CREATE_TIME','MODIFY_T ...

  9. [Python]xlrd 读取excel 日期类型2种方式

    有个excle表格须要做一些过滤然后写入数据库中,可是日期类型的cell取出来是个数字,于是查询了下解决的办法. 主要的代码结构 data = xlrd.open_workbook(EXCEL_PAT ...

随机推荐

  1. day34 前端基础之JavaScript

    day34 前端基础之JavaScript ECMAScript 6 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分.实际上 ...

  2. Java读文件写入kafka

    目录 Java读文件写入kafka 文件格式 pom依赖 java代码 Java读文件写入kafka 文件格式 840271 103208 0 0.0 insert 84e66588-8875-441 ...

  3. 一道题目学ES6 API,合并对象id相同的两个数组对象

    var arr2=[{id:1,name:'23'}] var arr1=[{id:1,car:'car2'}] const combined = arr2.reduce((acc, cur) =&g ...

  4. NSURLSession实现文件上传

    7.1 涉及知识点(1)实现文件上传的方法 /* 第一个参数:请求对象 第二个参数:请求体(要上传的文件数据) block回调: NSData:响应体 NSURLResponse:响应头 NSErro ...

  5. VFL

    VFL 1. 概念 VFL全称是Visual Format Language,翻译过来是"可视化格式语言" VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言 2. ...

  6. Plist文件和字典转模型

    模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲 key如果写错了编译器也不会报错 2. 模型概念 概念 专门用来存放数据的对象 特点 一般继承自NSObje ...

  7. 【Linux】【Basis】进程及作业管理

    进程及作业管理       内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能       Process: 运行中的程序的一个副本:         存在生命周期       L ...

  8. 【Office】【Excel】将多个工作表合为一个工作表

    在工作表中按下alt+F11打开vba编辑窗口,在菜单栏中选择[插入]=>[模板],将下面的代码粘贴过去,然后运行即可 点击查看代码 Sub 合并当前工作簿下的所有工作表() On Error ...

  9. 自动执行Python脚本

    一.自动执行Python脚本(前提条件是电脑已安装对应的Python程序) 1.1.win+R-输入cmd在输入where python查看Python的安装位置 C:\Users\ASUS\AppD ...

  10. Tableau如何绘制堆叠柱状图

    一.将类别,子类别拖拽至列上 二.将度量值拖拽至行上 三.将度量名称拖拽至筛选器上,右键度量名称,编辑筛选器,选择销售额 四.将事先准备的目标销售额拖拽至度量值 五.将度量名称拖拽至标记,分别以颜色和 ...