Python读execl之xlrd库函数详解二:单元格相关

简介: Python读execl主要用到xlrd库

Python读execl主要用到xlrd库,用到主要函数详解如下:

准备工作:

  • 准备工作和所用材料和《Python读execl之xlrd库函数详解一:工作簿相关》一致。

在这里插入图片描述
## 库函数:

单元格相关

  • cell(self, rowx, colx) #获取单元格对象(附带单元格属性,比如单元格格式)
#-*- encoding:utf-8 -*-

import xlrd,json

def openexec():
    book1 = xlrd.open_workbook('datalist.xlsx') # 打开表格
    q = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(q.cell(4,3))    # 打印sheet2中单元格(4,3)的值,其实为(0,0)    
openexec()
输出结果为:text:u'12452'
备注:从表头2中可以看出(4,3)即为5行4列的值为12452,格式为文本
  • cell_value(self, rowx, colx) #获取单元格的值(不附带格式,只是单纯的获取值,比较常用)
    w = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(q.cell_value(2,2))
输出结果为:姓名
  • cell_type(self, rowx, colx) #获取单元格数据类型
    e = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(q.cell_type(2,2))
输出结果为:1,其中各数值对应如下:
        <table border="1" cellpadding="7">
        <tr>
        <th>Type symbol</th>
        <th>Type number</th>
        <th>Python value</th>
        </tr>
        <tr>
        <td>XL_CELL_EMPTY</td>
        <td align="center">0</td>
        <td>empty string ''</td>
        </tr>
        <tr>
        <td>XL_CELL_TEXT</td>
        <td align="center">1</td>
        <td>a Unicode string</td>
        </tr>
        <tr>
        <td>XL_CELL_NUMBER</td>
        <td align="center">2</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_DATE</td>
        <td align="center">3</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_BOOLEAN</td>
        <td align="center">4</td>
        <td>int; 1 means TRUE, 0 means FALSE</td>
        </tr>
        <tr>
        <td>XL_CELL_ERROR</td>
        <td align="center">5</td>
        <td>int representing internal Excel codes; for a text representation,
        refer to the supplied dictionary error_text_from_code</td>
        </tr>
        <tr>
        <td>XL_CELL_BLANK</td>
        <td align="center">6</td>
        <td>empty string ''. Note: this type will appear only when
        open_workbook(..., formatting_info=True) is used.</td>
        </tr>
        </table>
  • cell_xf_index(self, rowx, colx) #单元格数据区域大小(待考究,研究时发现,单元格中数据的长度和区域一样的话,返回的cell_xf_index值也是一样的)
    r = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(r.cell_xf_index(4,3))
输出结果为:结果出错,XLRDError: Feature requires open_workbook(..., formatting_info=True)
分析:根据出错信息,我们应该在打开文件的时候,应该使用 formatting_info=True,修改代码如下:
def openexec():
    book1 = xlrd.open_workbook('datalist.xlsx',formatting_info=True) # 打开表格,formatting_info参数取值为True时(为了节省内存,该参数默认为False),就会读取各种格式的信息。
    r = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(r.cell_xf_index(4,3))  
openexec()
输出结果为:结果还是出错,raise NotImplementedError("formatting_info=True not yet implemented")
分析:把文件格式改为datalist.xls打开OK,但是格式如果为datalist.xlsx,就会出错,所以我们需要把文件保存为datalist.xls,如下:
在这里插入图片描述

整理后的代码如下:

def openexec():
    book1 = xlrd.open_workbook('datalist.xls',formatting_info=True) # 打开表格,formatting_info参数取值为True时(为了节省内存,该参数默认为False),就会读取各种格式的信息。
    r = book1.sheet_by_index(1) # 使用索引的方式获取sheet2工作簿
    print(r.cell_xf_index(4,3))  
openexec()
输出结果为:77
这个cell_xf_index感觉像是单元格中数据区域的大小
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
73 20
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
106 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
185 77
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
64 18
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8

热门文章

最新文章

推荐镜像

更多