python读excel文件解析

2023-11-03

目录

一、题目描述

二、示例

三、分析

1、获取工作簿对象

2、获取表单的名字

3、通过表单名获取指定的表单对象

4、获取单元格中的值


一、题目描述

        例如在当前文件夹下有一个名为“阿里巴巴2020年股票数据.xls”的Excel文件,读取并显示该文件的内容

二、示例

import xlrd

# 使用xlrd模块的open_workbook函数打开指定Excel文件并获得Book对象(工作簿)
wb = xlrd.open_workbook('阿里巴巴2020年股票数据.xls')
# 通过Book对象的sheet_names方法可以获取所有表单名称
sheetnames = wb.sheet_names()
print(sheetnames)
# 通过指定的表单名称获取Sheet对象(工作表)
sheet = wb.sheet_by_name(sheetnames[0])
# 通过Sheet对象的nrows和ncols属性获取表单的行数和列数
print(sheet.nrows, sheet.ncols)
for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        # 通过Sheet对象的cell方法获取指定Cell对象(单元格)
        # 通过Cell对象的value属性获取单元格中的值
        value = sheet.cell(row, col).value
        # 对除首行外的其他行进行数据格式化处理
        if row > 0:
            # 第1列的xldate类型先转成元组再格式化为“年月日”的格式
            if col == 0:
                # xldate_as_tuple函数的第二个参数只有0和1两个取值
                # 其中0代表以1900-01-01为基准的日期,1代表以1904-01-01为基准的日期
                value = xlrd.xldate_as_tuple(value, 0)
                value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
            # 其他列的number类型处理成小数点后保留两位有效数字的浮点数
            else:
                value = f'{value:.2f}'
        print(value, end='\t')
    print()
# 获取最后一个单元格的数据类型
# 0 - 空值,1 - 字符串,2 - 数字,3 - 日期,4 - 布尔,5 - 错误
last_cell_type = sheet.cell_type(sheet.nrows - 1, sheet.ncols - 1)
print(last_cell_type)
# 获取第一行的值(列表)
print(sheet.row_values(0))
# 获取指定行指定列范围的数据(列表)
# 第一个参数代表行索引,第二个和第三个参数代表列的开始(含)和结束(不含)索引
print(sheet.row_slice(3, 0, 5))

三、分析

1、获取工作簿对象

      此处要注意的是文件的地址,此代码是因为文件和代码在同一个目录下,如果不在,要加上文件的路径

wb = xlrd.open_workbook('阿里巴巴2020年股票数据.xls')

2、获取表单的名字

sheetnames = wb.sheet_names()

3、通过表单名获取指定的表单对象

  sheet = wb.sheet_by_name(sheetnames[0])

4、获取单元格中的值

for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        # 通过Sheet对象的cell方法获取指定Cell对象(单元格)
        # 通过Cell对象的value属性获取单元格中的值
        value = sheet.cell(row, col).value

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python读excel文件解析 的相关文章

随机推荐

  • passwd Authentication token manipulation error----linux

    分享一下我老师大神的人工智能教程 零基础 通俗易懂 http blog csdn net jiangjunshow 也欢迎大家转载本篇文章 分享知识 造福人民 实现我们中华民族伟大复兴 author skatetime 2009 04 11
  • springboot2.x入门(六)—@validated注解结合全局异常控制器实现统一参数校验

    写接口的时候 参数校验是不是还一个一个的判空或者判断格式是否正确 业务代码没写几行 写了一堆if StringUtils isBlank 对不对 我说的对不对 小啦 逼格小啦 今天我就来深入浅出的讲讲spring boot Validate
  • uni——初次加载问题处理(赋值后再调用)

    案例描述 此案例中 一进页面接收good id并调用接口 这个流程正常 这个changeNum也是一进页面就触发了 组件购物车加减自带 且触发的顺序在onload赋值id之前 这时候good id还是为空 所以接口报错 如何处理这个问题毕竟
  • 解决0% [Waiting for headers] 导致的unable to lock the administration directory (/var/lib/dpkg/) is anothe...

    这是我在配置vim的YouCompleteMe时遇到的问题 我需要使用CMake来编译YCM 在我输入 sudo apt install cmake 由于网络原因导致安装一直卡在0 Waiting for headers 在我多次尝试后发现
  • vue3的基本使用(超详细)

    一 初识vue3 1 vue3简介 2020年9月18日 vue3发布3 0版本 代号大海贼时代来临 One Piece 特点 无需构建步骤 渐进式增强静态的 HTML 在任何页面中作为 Web Components 嵌入 单页应用 SPA
  • C++多态

    目录 多态的概念 多态的定义及实现 多态的构成条件 虚函数的重写 虚函数重写的两个例外 C 11 override和final 函数重载 覆盖 重写 隐藏 重定义 的对比 抽象类 概念 接口继承和实现继承 多态的原理 虚函数表 动态绑定和静
  • 判断当前点击屏幕位置是否UI组件

    判断当前点击位置是否是UI组件 避免在点击按钮时 还继续屏幕其他操作 using System Collections using System Collections Generic using UnityEngine using Uni
  • 04以太坊测试网(Testnets)

    什么是测试网 测试网络 简称testnet 用于模拟以太网主网的行为 有一些公开的测试网络可以替代以太坊区块链 这些网络上的货币毫无价值 但它们仍然很有用 因为合约和协议变更的功能可以在不中断以太网主网或使用真实货币的情况下进行测试 当主网
  • 软考报名照片制作

    报名官网 其实人家官网很贴心的有给照片审核工具 就在上传照片的下面 一行蓝色的小字 下载照片验证工具 emmmm 直接下载安装就好 上传你的白底证件照 然后他会自动给你修建成他需要的照片 然后记得保存 直接提交就可上传成功
  • Android Studio:Gradle project sync failed

    问题 Unable to find method java lang String org gradle api artifacts result ComponentSelectionReason getDescription 参考 gra
  • Java基础-面向对象

    Java基础 面向对象 由于年前工作太忙 实在没时间整理Java基本知识 但是可能长时间不更新不好看 再说我个人也没有半途而废的习惯 所以决定节前还是更新一篇吧 这也算是Java的基本思想和一些偏进阶的东西 如果思考透彻了 理解清楚了 那么
  • 华为od机试题-2023-最新真题-完整题库-两周350分

    华为OD机试题库每半年刷新一次 目前已经整理了90道原题 并提供了java python C 三种解法 这就是2023年Q2的完整题库了 华为OD机试2周350分 高效复习策略 1 牛客网刷基础算法题 每个算法都了解一下 用一周时间 牛客网
  • 基于JDBC的图书管理系统

    文章目录 1 图书管理系统类图 2 程序设计 2 1Student类 2 2Teacher类 2 3Sever类 2 4BookManage类 2 5Manage类 2 6Mbin类 2 7Menu类 3 功能 3 1管理员功能 3 2学生
  • 应急响应LINUX&Windows

    应急响应LINUX Windows linux 文件名 说明 etc passwd 用户信息文件 etc crontab 定时任务文件 etc anacrontab 异步定时任务文件 etc rc d rc local 开机启动项 var
  • angular2 通过 ControlValueAccessor NG_VALUE_ACCESSOR实现自定义表单控件

    一 演示自定义控件的双向绑定 二 如何实现 cform component ts 自定义表单控件CformComponent 的实现 注意下里面的注释段落 import Component OnInit Input forwardRef f
  • QT自定义Widget控件及其使用

    今天来给大家分享一下QT自定义widget控件及其使用 当ui设计器提供的界面不满足实际需求时 可以从QWidget继承自定义的界面组件 有两种方法一种是提升法 另一种是ui设计器自定义界面组件widget组件 我们本次先说提升法 通过这个
  • 预告:Intel、Hulu、阿里、京东、携程等大数据实战直播

    前言 由CSDN主办的SDCC 2017之大数据技术实战线上峰会将在CSDN学院举行 作为SD系列技术峰会的一部分 本次线上峰会秉承干货实料 案例 的内容原则 将邀请圈内顶尖的布道师 技术专家和技术引领者 共话大数据平台构建 优化提升大数据
  • 学生选课系统---数据库课程设计SQL Server

    可以直接从我的GitHub中获取文档 学生选课系统GitHub 一 题目 学生选课系统 二 需求分析 1 根据学生专业学年学期等信息 录入课程完成课程计划 2 根据课程计划 录入任课教师信息 3 学生可以根据学年学期等信息 选择课程完成选课
  • 2022年第三届“大湾区杯”粤港澳金融数学数学建模竞赛

    2022年第三届 大湾区杯 粤港澳金融数学数学建模竞赛 文章目录 2022年第三届 大湾区杯 粤港澳金融数学数学建模竞赛 前言 一 分析B题 券商研报对公司股票走势的影响和投资策略 1 解读题目 2 第一问解析 3 第二问解析 4 第三问解
  • python读excel文件解析

    目录 一 题目描述 二 示例 三 分析 1 获取工作簿对象 2 获取表单的名字 3 通过表单名获取指定的表单对象 4 获取单元格中的值 一 题目描述 例如在当前文件夹下有一个名为 阿里巴巴2020年股票数据 xls 的Excel文件 读取并