python xlrd主要功能

2023-10-26

This module is part of the xlrd package, which is released under a  BSD-style licence. Basically, use function xlrd.open_workbook to get meta data from a xls file path. Available data types are: 0. empty, 1. string (text), 2. number, 3. date, 4. boolean, 5. error, 6. blank.

1.导入模块与加载某路径的xls文件的数据

import xlrd
book=xlrd.open_workbook("文件路径")
book
<xlrd.book.Book object at 0x00000134918A6F70>

从路径读取的数据为工作簿,每个工作簿可能有多个工作表。其中工作簿常命名为data、workbook、wb、book;工作表常命名为worksheet、sheet、sheets、table、tables等。

2.获取工作簿中的工作簿

共三种方式:1,按照sheet的名字读取,2,按照sheet的index读取,3,读取所有sheets再按index读取

book=xlrd.open_workbook("文件路径")#<class 'xlrd.book.Book'>
<xlrd.book.Book object at 0x00000134918A6F70>
sheet = book.sheet_by_name('Sheet1')#<class 'xlrd.sheet.Sheet'>
sheet = book.sheet_by_index(0)#<class 'xlrd.sheet.Sheet'>
sheets = book.sheets()#<class 'list'>
sheet = book.sheets()[0]#<class 'xlrd.sheet.Sheet'>

3.常用的切片方法

#worksheet的属性
sheet.nrows#获取总行数
sheet.ncols#获取总列数

#方法加_value与否的区别在于 不加是number:1.0 加了是 1.0
#单个单元格
sheet.cell(0,0).value
sheet.cell_value(0,0)
sheet.cell_type(0,0)#返回cell的对象类型
sheet.cell(0,0).ctype#返回cell的对象类型
typeDict = {0:'empty', 1:'string', 2:'number', 3:'date', 4:'boolean', 5:'error',6:'blank'}
'''其中
xlrd.xldate_as_datetime
<function xldate_as_datetime at 0x00000134918B5DC0>
xlrd.xldate_as_tuple
<function xldate_as_tuple at 0x00000134918B5CA0>
用来处理sheet的cell的数据与date格式的转化问题,这个留作读者发现
'''

#输出每行
sheet.row(0)
sheet.row_values(0)
#输出每列
sheet.col(0)
sheet.col_values(0)

4.常用的遍历方法

# 遍历sheet 有列数sheet.ncols 4和行数sheet.nrows 26
for i in sheet:
    print(i)#默认输出行的内容
'''
[number:0.0, number:1.0, number:2.0, number:3.0]#这一行为表头的数据
[number:100.0, number:101.0, number:102.0, number:103.0]
...
[number:196.0, number:197.0, number:198.0, number:199.0]
'''#中间省去了一些行总数据为100-199生成的25×4的数据列
#类似的可以用两层for loop进行单个输出
for i in sheet:
    for j in i:
        print(j)#顺序为先cols in row再rows
'''
number:0.0
...
number:199.0
'''

附:work_sheet包含的非私有方法或属性

#每个work_sheet包含的非私有方法如下:
method = [i for i in dir(wb00) if not i[0]=='_']
for i in method:
    print(i,eval('wb00.'+str(i)))
#其中常见的sheet的属性如下:
name Sheet1
ncols 4
nrows 26
utter_max_cols 256
utter_max_rows 65536
#sheet的非属性的方法或其他用法如下:
book <xlrd.book.Book object at 0x00000134918A6F70>
cell <bound method Sheet.cell of Sheet  0:<Sheet1>>
cell_type <bound method Sheet.cell_type of Sheet  0:<Sheet1>>
cell_value <bound method Sheet.cell_value of Sheet  0:<Sheet1>>
cell_xf_index <bound method Sheet.cell_xf_index of Sheet  0:<Sheet1>>
col <bound method Sheet.col_slice of Sheet  0:<Sheet1>>
col_slice <bound method Sheet.col_slice of Sheet  0:<Sheet1>>
col_types <bound method Sheet.col_types of Sheet  0:<Sheet1>>
col_values <bound method Sheet.col_values of Sheet  0:<Sheet1>>
computed_column_width <bound method Sheet.computed_column_width of Sheet  0:<Sheet1>>
get_rows <bound method Sheet.get_rows of Sheet  0:<Sheet1>>
handle_feat11 <bound method Sheet.handle_feat11 of Sheet  0:<Sheet1>>
handle_hlink <bound method Sheet.handle_hlink of Sheet  0:<Sheet1>>
handle_msodrawingetc <bound method Sheet.handle_msodrawingetc of Sheet  0:<Sheet1>>
handle_note <bound method Sheet.handle_note of Sheet  0:<Sheet1>>
handle_obj <bound method Sheet.handle_obj of Sheet  0:<Sheet1>>
handle_quicktip <bound method Sheet.handle_quicktip of Sheet  0:<Sheet1>>
handle_txo <bound method Sheet.handle_txo of Sheet  0:<Sheet1>>
logfile <debug.tserver.dbgutils.CNotifyingStringIO object at 0x0000013490AD6B80>
put_cell <bound method Sheet.put_cell_unragged of Sheet  0:<Sheet1>>
put_cell_ragged <bound method Sheet.put_cell_ragged of Sheet  0:<Sheet1>>
put_cell_unragged <bound method Sheet.put_cell_unragged of Sheet  0:<Sheet1>>
read <bound method Sheet.read of Sheet  0:<Sheet1>>
req_fmt_info <bound method Sheet.req_fmt_info of Sheet  0:<Sheet1>>
row <bound method Sheet.row of Sheet  0:<Sheet1>>
row_len <bound method Sheet.row_len of Sheet  0:<Sheet1>>
row_slice <bound method Sheet.row_slice of Sheet  0:<Sheet1>>
row_types <bound method Sheet.row_types of Sheet  0:<Sheet1>>
row_values <bound method Sheet.row_values of Sheet  0:<Sheet1>>
string_record_contents <bound method Sheet.string_record_contents of Sheet  0:<Sheet1>>
tidy_dimensions <bound method Sheet.tidy_dimensions of Sheet  0:<Sheet1>>

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

python xlrd主要功能 的相关文章

  • 递归单元测试发现

    我有一个带有目录 tests 的包 我在其中存储单元测试 我的包裹看起来像 LICENSE models init py README md requirements txt tc py tests db test employee py
  • 使用 pip 或 conda 来管理包? [复制]

    这个问题在这里已经有答案了 我已经使用 matlab 进行机器学习很长一段时间了 最 近切换到 python 并使用其包管理器 pip 安装某些包并成功安装了许多包 几天前 我开始使用 conda 我以前安装的所有软件包都被覆盖 我真的很想
  • Python - Pandas - 将特定函数应用于给定级别 - 多索引数据帧

    我有一个多索引 DataFrame 并且我希望仅对分配给我的级别之一的向量应用一些计算 使用下面的代码 import pandas as pd import datetime ticker date US datetime date tod
  • Django - 未找到“”的反向。 '' 不是有效的视图函数或模式名称

    我正在研究我的课程项目 但现在我完全陷入困境 我正在创建一个网站通过 PayPal 销售产品 但 PayPal 退货 取消页面未正确呈现 我已经按照课程中的示例检查了代码一百次 但显然我遗漏了一些东西 当我转到产品 单击 立即购买 登录 P
  • 查找具有不同强度/亮度的相似图像

    假设我有如下图像 我可以选择什么来比较两个图像之间的相似度 显然它们是相同的图像 只是亮度不同 我找不到任何可行的方法 目前我最好的选择是训练 cnn 或自动编码器并比较输出的特征向量 但这似乎有点矫枉过正 任何提示将不胜感激 相当强大的工
  • 在 Python 中静默打印 PDF

    我正在尝试使用 Python 打印 PDF 而不打开 PDF 查看器应用程序 Adobe Foxit 等 我还需要知道打印何时完成 以删除文件 Here http permalink gmane org gmane comp python
  • python:如何检查一行是否为空行

    试图弄清楚如何编写一个 if 循环来检查一行是否为空 该文件有许多字符串 其中之一是一个空行 用于与其他语句分隔开 不是 我认为是一个回车符后面跟着另一个回车符 new statement asdasdasd asdasdasdasd ne
  • Redis 队列工作程序在 utcparse 中崩溃

    我正在尝试按照以下教程获得基本的 rq 工作 https blog miguelgrinberg com post the flask mega tutorial part xxii background jobs https blog m
  • Jupyter Notebook 找不到 IQSharp

    我一直在尝试为 Quantum Katas 运行 Q 但在找到 Q 内核方面遇到了一些困难 唯一显示的内核是用于 Jupyter Notebook 的 Python 3 内核 奇怪的是 当我执行 jupyter kernalspec lis
  • 使用 Numpy 与 einsum 和 tensordot 进行相同的操作

    假设我有两个 3D 数组A and B形状的 3 4 N and 4 3 N 我可以计算沿第三轴的切片之间的点积 with einsum np eisum ikl kjl gt ijl A B 是否可以执行相同的操作numpy tensor
  • 是否可以使用 csv.DictReader 保持列顺序?

    例如 我的 csv 有如下列 ID ID2 Date Job No Code 我需要以相同的顺序写回各列 这dict立即打乱了顺序 所以我相信这更多是读者的问题 蟒蛇的dicts 在 3 6 之前不维持顺序 但是 无论如何 在该版本中csv
  • Groupby Sum 忽略几列

    在此数据框中 我想按 位置 进行分组并获得 分数 的总和 但我不希望 纬度 经度 和 年份 在此过程中受到影响 sample pd DataFrame Location A B C A B C Year 2001 2002 2003 200
  • 与 GridSearchCV 的并行错误,与其他方法一起工作正常

    我使用 GridSearchCV 时遇到以下问题 它在使用时给我一个并行错误n jobs gt 1 同时n jobs gt 1与 RadonmForestClassifier 等单一模型配合良好 下面是一个显示错误的简单工作示例 train
  • 创建 Pyomo 约束的性能

    我正在用 pyomo 设置一个更大的能量优化问题 正如其他中提到的 设置花费了不合理的时间问题 https stackoverflow com questions 43413067 performance of pyomo to gener
  • 函数内部变量的赋值会改变外部的赋值 - Python

    我从使用 Matlab 转向使用 Python 使用函数时的变量赋值让我感到困惑 我有一个代码如下 a 1 1 1 def keeps x y x y 1 2 return y def changes x y x y 1 2 return
  • django PermissionRequiredMixin Permission_required 不起作用

    Views py class templateList PermissionRequiredMixin TemplateView permission required accounts template all def get self
  • 如何将 MP3 音频文件读入 numpy 数组/将 numpy 数组保存到 MP3?

    有没有办法从 MP3 音频文件中读取 写入 MP3 音频文件numpy具有类似 API 的数组scipy io wavfile read https docs scipy org doc scipy 0 14 0 reference gen
  • 将 tf.contrib.layers.xavier_initializer() 更改为 2.0.0

    我该如何改变 tf contrib layers xavier initializer tf 版本 gt 2 0 0 所有代码 W1 tf get variable W1 shape self input size h size initi
  • Django中的自动递增值

    我在 django 中有一个表并尝试自动递增它的序列号 在自定义模板中 for 循环用于变量 自定义模板 for i in getodeskview tr td 1 td td i odesk id td td i hours td td
  • python 根据日期创建目录结构

    我使用以下函数根据今天的日期创建目录 usr bin python import time datetime os today datetime date today todaystr today isoformat os mkdir to

随机推荐

  • 强化学习笔记------第一章----强化学习概述(超详细)

    强化学习讨论的问题是一个智能体 agent 怎么在一个复杂不确定的环境 environment 里面去极大化他能获得的奖励 首先 我们可以把强化学习和监督学习做一个对比 例如图片分类 监督学习 supervised learning 指的是
  • 一篇史上最全面的 Vue 代码风格指南,建议收藏

    作者 卡喵妹 https juejin cn post 6987349513836953607 一 命名规范 市面上常用的命名规范 camelCase 小驼峰式命名法 首字母小写 PascalCase 大驼峰式命名法 首字母大写 kebab
  • 【云原生】SpringCloud-Spring Boot Starter使用测试

    目录 Spring Boot Starter是什么 以前传统的做法 使用 Spring Boot Starter 之后 starter 的理念 starter 的实现 创建Spring Boot Starter步骤 在idea新建一个sta
  • Computer【HDU-2196】【在线LCA+树的直径】

    题目链接 include
  • PHP 自学教程之自定义函数及数组

    一 自定义函数 自定义函数就是我们自己定义的函数 在PHP中自定义函数格式如下 function funname arg1 arg2 arg3 TODO return values 下面举一个按值传递函数
  • Python 制作马赛克拼合图像

    Python 制作马赛克拼合图像 文章目录 Python 制作马赛克拼合图像 知识点 效果 环境 原理 RGB 色彩空间 HSV 色彩空间 RGB 与 HSV 色彩空间的转换 马赛克图片拼合 数据准备 导入需要的库 计算图像平均 HSV 值
  • Linux下Mysql

    1 安装查看是否已经安装了MYSQLrpm qa mysqlmysql 4 1 7 4 RHEL4 1点开add remove programe里面的mysql的detail勾上mysql server2 启动来检测mysql是否已经启动s
  • Redis系列--redis持久化

    一 为什么需要持久化 redis本身运行时数据保存在内存中 如果不进行持久化 那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉 当然 redis本身默认采用了一种持久化方式 即RDB
  • Matlab 2021b安装教程-Matlab分析软件下载方法

    MATLAB是美国MathWorks公司出品的商业数学软件 用于算法开发 数据可视化 数据分析以及数值计算的高级技术计算语言和交互式环境 主要包括MATLAB和Simulink两大部分 下载方法 https docs qq com shee
  • 【数据分析实战】基于python对酒店预订需求进行分析

    文章目录 引言 数据加载以及基本观察 缺失值观察及处理 缺失值观察以及可视化 缺失值处理 用户数据探索 什么时间预定酒店将会更经济实惠 哪个月份的酒店预订是最繁忙的 商家数据探索 按市场细分的不同预定情况是怎样的 什么样的人更容易取消预订
  • CCNA考试题库中英文翻译版及答案11

    26 Two routers named Atlanta and Brevard are connected by their serial interfaces as shown in the exhibit but there is n
  • SpringCloud-微服务架构编码构建

    SpringCloud Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具 例如配置管理 服务发现 断路器 智能路由 微代理 控制总线 分布式系统的协调导致了样板模式 使用Spring Cloud开发人员可以快速
  • 010.CMake函数和宏(下)

    文章目录 函数和宏的根本区别 同名覆盖 总结 函数和宏的根本区别 函数和宏之间的一个根本区别 是函数引入了一个新的变量作用域 而宏没有 在函数内定义或修改的变量对函数外同名的变量没有影响 而宏与其调用者共享相同的变量范围 但是请注意 函数不
  • 我的第一个hbuilder项目,基于h5的五子棋游戏

    这是在老师的引导下完成小游戏 以下是今天学习的内容和知识分享 第一个游戏的操作思想 使用hbuilder软件 打开软件可在其帮助中 hbuilder入门 可以了解相应的软件使用方法 使用 菜鸟教程 网站 可在其中学习h5的相关知识 制作五子
  • 数据结构---堆排序

    堆排序 JAVA实现 和快速排序区别 二叉堆的构建 删除 调整是实现堆排序的基础 之前博客写了二叉堆 二叉堆 最大堆的堆顶是整个堆中的最大元素 最小堆的堆顶是整个堆中的最小元素 堆排序步骤 把无序数组构建成二叉堆 需要从小到大排序 则构建成
  • QT之模态

    模态 当一个窗口以模态显示 那么所有其他窗口的事件都被阻塞 停止运行 直到模态窗口关闭后才继续 MainWindow pMainWindow new MainWindow pMainWindow gt setWindowTitle QStr
  • Hbuilder X用不习惯?快来看看这些快捷键

    用惯了vscode Hbuilder X的使用也得熟练 快捷键如下 Ctrl N 新建文件 Ctrl W 关闭文件 Ctrl Shift W 关闭全部文件 Ctrl S 保存文件 Ctrl Shift S 保存全部文件 Alt 激活代码助手
  • C/C++的单元/集成测试工具 - VectorCAST/C++

    什么是VectorCAST C VectorCAST C 是一套集成的软件测试解决方案 能显著降低C C 测试过程中为达到安全性检测和嵌入式系统关键任务检测所必需的时间 工作量及成本 VectorCAST C 可自动实现 为单元测试和集成测
  • (USB系列三)stm32 CubeMX usb音频描述符详解 usb audio UAC

    如果需要麦克风阵列 回声消除 声源定位 波束成形 语音对话的产品请访问我好朋友的店铺 店铺链接 首页 智能语音开发者联盟 淘宝网 大家好我是人见人爱 花见花开的大魔王 usb协议还是很烦的 cube很大程度上减轻了工作量 但是不灵活是个大问
  • python xlrd主要功能

    This module is part of the xlrd package which is released under a BSD style licence Basically use function xlrd open wor