python 模块xlrd 读取.xls文件

news2024/11/20 13:31:57

Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况:

  1. xlwt:xlwt 写入.xls文件
  2. xlwings:xlwings 读取写入Excel文件
  3. openpyxl:openpyxl 读取写入.xlsx文件
    在这里插入图片描述
一、安装
pip install xlrd
二、基本使用
import xlrd

workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象

sheet = workbook['sheet1'] #获取工作表

for row in range(1,sheet.nrows): #获取每行数据
    print(sheet.row_values(row,1))

for col in range(1, sheet.ncols): #获取每列数据
    print(sheet.col_values(col, 1))
import xlrd

with xlrd.open_workbook('excel2.xls') as workbook:
    sheet = workbook['sheet1'] #获取工作表

    for row in range(1,sheet.nrows):
        print(sheet.row_values(row,1))

    for col in range(1, sheet.ncols):
        print(sheet.col_values(col, 1))
三、方法及属性
  1. xlrd.open_workbook(filename, formatting_info=False, on_demand=False, ragged_rows=False) 打开 Excel 文件并返回一个 Workbook 对象
    import xlrd
    '''
    filename:Excel 文件的路径或文件对象。
    formatting_info:是否读取单元格的格式信息,默认为 False。
    on_demand:是否在需要时才加载工作表,默认为 False,即一次性加载所有工作表。
    ragged_rows:是否允许不完整的行,默认为 False。
    '''
    workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象
    sheet = workbook['sheet1'] #获取工作表
    
  2. xlrd.xldate_as_datetime(xldate, datemode) 将 Excel 中的日期值转换为datetime 对象
    import xlrd
    
    
    workbook = xlrd.open_workbook('excel2.xls')
    
    
    sheet = workbook['sheet1'] #获取工作表
    
    
    date_value = sheet.cell_value(0, 0)
    
    '''
    将日期值转换为 datetime 对象
    xldate:Excel 中的日期值,通常是一个浮点数。
    datemode:日期模式,用于解释 Excel 中的日期值。默认为xlrd.XL_DATEMODE_1900
    workbook.datemode 表示 Excel 文件的日期模式,xlrd.XL_DATEMODE_1900或xlrd.XL_DATEMODE_1904
    xlrd.XL_DATEMODE_1900 表示使用 1900 年日期模式
    xlrd.XL_DATEMODE_1904 表示使用 1904 年日期模式
    '''
    date = xlrd.xldate_as_datetime(date_value, workbook.datemode)
    
    print(date)  # 输出转换后的日期
    
    
  3. workbook.datemode 表示 Excel 文件的日期模式
  4. workbook.nsheets 返回工作簿中的工作表数量
  5. workbook.sheet_names() 方返回工作簿中所有工作表的名称列表
  6. workbook.sheet_by_name(sheet_name) 根据工作表名称获取工作表对象
  7. workbook.sheet_by_index(sheet_index) 根据工作表索引获取工作表对象
  8. workbook.release_resources() 释放资源并使用del语句删除工作簿对象,从而关闭文件
  9. sheet.nrows 返回工作表中的行数
  10. sheet.ncols 属返回工作表中的列数
  11. sheet.row_values(rowx, start_colx=0, end_colx=None) 返回指定行的数据列表
  12. sheet.col_values(colx, start_rowx=0, end_rowx=None) 返回指定列的数据列表
  13. sheet.cell(rowx, colx) 返回指定行列位置的单元格对象
    import xlrd
    
    workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象
    sheet = workbook['sheet1'] #获取工作表
    '''
    返回单元格的数据类型
    xlrd.XL_CELL_TEXT:文本本类型的单元格
    xlrd.XL_CELL_EMPTY:空单元格
    xlrd.XL_CELL_NUMBER:数字类型的单元格
    xlrd.XL_CELL_DATE:日期类型的单元格
    xlrd.XL_CELL_BOOLEAN:布尔类型的单元格
    xlrd.XL_CELL_ERROR:错误类型的单元格
    xlrd.XL_CELL_BLANK:空白单元格
    '''
    print(sheet.cell(1,1).ctype) 
    print(sheet.cell(1,1).value) #返回单元格的值
    
  14. sheet.cell_value(rowx, colx) 返回指定行列位置的单元格值
  15. sheet.sheet_loaded(sheet_name_or_index) 检查指定的工作表是否已加载
  16. sheet.unload_sheet(sheet_name_or_index) 卸载指定的工作表,释放内存
  17. sheet.cell_type(rowx, colx) 返回指定行列位置的单元格数据类型
  18. sheet.cell_xf_index(rowx, colx) 返回指定行列位置的单元格的样式索引
  19. sheet.row(rowx) 返回指定行的 Row 对象,用于获取行的其他属性和方法
  20. sheet.col(colx) 返回指定列的 Column 对象,用于获取列的其他属性和方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/927514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主从、哨兵、集群模式有什么区别 ?

目录 1.Redis 多机部署的方式 2.主从、哨兵、集群模式有什么区别 2.1 主从同步 2.2 哨兵模式 2.3 集群模式 1.Redis 多机部署的方式 Redis 多机部署主要有 3 种方式: 1. 主从同步:主要存储数据的节点叫做主节点(master)&…

OS 内核级线程代码实现

state和counter实现阻塞和时间片的判断是否跳转进程 先把旧内容通过TR放入原TSS,通过TR找到新TSS然后把TSS内容拷入CPU内部,通过esp值变化实现栈的切换。ip使用的copy的ip

科研 | Zotero导入无PDF的参考文献、书籍

最近在用Zotero在Word中插入参考文献的时候发现,有些没在网上找到对应的PDF版本,但也不是必须要PDF版本的参考文献或者参考书籍,如何才能不影响正常的文献排版 主要是先在网上找到对应文献,书籍,网页等的ISBN&#xf…

springboot多数据源使用

在工作上有一个新项目&#xff0c;现在需要获取旧项目的用户信息、积分的操作等等&#xff0c;所以需要调用另外一个项目的数据库&#xff0c;所以我们可以配置多数据源。 依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-dat…

LeetCode-227-基本计算器Ⅱ

题目描述&#xff1a; 给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意&#xff1a;不允许使用任何将字符串作为数学表达式计…

低代码赋能| 智慧园区项目开发痛点及解决方案

智慧园区是一个综合体&#xff0c;集技术开发、产业发展和学术研究于一体。作为未来智慧城市建设的核心&#xff0c;智慧园区充当着“产业大脑”和“指挥中心”的角色。它通过整合园区内的制造资源和第三方服务能力&#xff0c;实现园区各组成部分的协调运作、良性循环和相互促…

ESP32应用教程(1)— VL53L3CX距离传感器

文章目录 前言 1 产品概述 1.1 技术规格 1.2 系统框图 1.3 设备引脚分布 2 工作流程 2.1 系统功能描述 2.2 状态机描述 2.3 测距模式说明 3 控制接口 3.1 设备地址 3.2 IC写1个字节数据 3.3 IC读1个字节数据 3.4 IC写多个字节数据 3.5 IC读多个字节数据 3.6 IC…

国际评级机构下调美国银行业评级,美国区域性银行风险仍存在?

KlipC报道&#xff1a;国际评级机构标准普尔更新了对10家美国银行的评级&#xff0c;其中5家美国银行的信用评价呗下调一级&#xff0c;2家银行前景展望被调整为“负面”。 关于下调5家银行评级的原因&#xff0c;标普表示&#xff1a;这主要是有些美国地区银行不仅资金状况出现…

rabbitmq的优先级队列

在我们系统中有一个 订单催付 的场景&#xff0c;我们的客户在天猫下的订单 , 淘宝会及时将订单推送给我们&#xff0c;如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒&#xff0c;很简单的一个功能对吧&#xff0c;但是&#xff0c;tianmao商家对我们来说&#…

npm yarn pnpm npx nvm 命令怎么区分怎么用

npm​​​​​​​ 包管理器&#xff0c;可以用来安装、卸载、更新和管理各种包npm的package.json中文文档 参数 - install&#xff1a;安装一个或多个包。例如&#xff1a;npm install 。 uninstall&#xff1a;卸载一个包。例如&#xff1a;npm uninstall 。 update&#xf…

登录认证-登录校验-会话技术方案选择和对比(cookie、session和JWT令牌)

会话技术方案选择和对比 一、背景说明二、会话技术之 Cookie1、为什么说cookie是客户端会话技术2、cookie的优点和缺点 三、会话技术之 Session1、为什么说Session是服务端会话技术2、session的优点和缺点 四、令牌技术JWT1、JWT 的原理2、JWT的优点和缺点 一、背景说明 在开发…

5小时玩转阿里云实时计算Flink实时湖仓之代码文档

文章目录 视频链接 bxg代码文档项目离线数据准备MySQL映射表流数据准备num.txtmakedata.log(空文件)start.shcreate-log.shinsert-data.sh 维表创建paimon_dim表mysql_to_paimon_dim任务 事实表ODS层ECS创建ods层kafka topickafka_ods表mysql_to_kafka_ods数据插入paimon_ods表…

什么牌子的运动耳机好、好的运动耳机排行榜

运动与健康息息相关&#xff0c;人们越来越认识到运动带来的益处&#xff0c;例如增强心肺功能、提高新陈代谢率&#xff0c;并能预防多种慢性疾病。随着社交媒体上越来越多人分享自己的运动心得&#xff0c;更多的人也被激发起参与其中的热情。在运动过程中&#xff0c;音乐的…

vue实现表格的动态高度

需求:表格能够根据窗口的大小自动适配页面高度 防抖和节流函数的使用场景是当需要对频繁触发的事件进行限制时,例如: 防抖函数常用于限制用户在短时间内多次触发某一事件,例如搜索框输入并搜索,当用户一直在输入时,我们可以使用防抖函数来避免多次请求搜索结果,减轻服…

【el-tree】树形组件图标的自定义

饿了么树形组件的图标自定义 默认样式: 可以看到el-tree组件左侧自带展开与收起图标,咱们可以把它隐藏:: .groupList {::v-deep .el-tree-node { .el-icon-caret-right {display: none;} } } 我的全部代码 <div class"groupList"><el…

AI 时代,程序员无需焦虑

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

开发电子木鱼功德+1需要多少钱

冥想木鱼小程序是一种结合了冥想和科技的应用形式&#xff0c;为用户提供了随时随地进行冥想的便捷方式。开发一款高质量的冥想木鱼小程序需要综合考虑技术实现、冥想专业性和用户体验等多个方面。本文将详细介绍冥想木鱼小程序的开发过程&#xff0c;并探讨其中的专业性与思考…

数据的画布,洞察的窗口:畅想可视化大屏的未来

可视化大屏&#xff0c;作为信息传达的魔法之笔&#xff0c;正以其独特的魅力在各个领域迅速崭露头角。它将抽象的数据和信息转化为丰富多彩的图形、图表和动画&#xff0c;以更直观、生动的方式呈现在人们的眼前。 无论身处何地&#xff0c;可视化大屏都能显现其强大的应用价…

GPT和AI绘图学习【第13期】,chatgpt文案制作引导并写出爆款小红书推文、AI换脸、客服话术回复等

第13期GPT和AI绘图学习班&#xff0c;主要内容包括&#xff1a;ChatGPT文案制作引导并写出爆款小红书推文、分析数据、策划视频脚本、图片扩展、高效修图、产品设计、平面设计、线镐渲染、AI换脸、客服话术回复等。 目录&#xff1a; 1.第1天&#xff1a;运用GPT提高工作效率…

【随笔】如何使用阿里云的OSS保存基础的服务器环境

使用阿里云OSS创建一个存储仓库&#xff1a;bucket 在Linux上下载并安装阿里云的ossutil工具 // 命令行&#xff0c;是linux环境 3. 安装ossutil。sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash 说明:安装过程中&#xff0c;需要使用解压工具…