Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决

不过在回答之前,我先提供一下Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file; not supported问题解决 的背景和原因:

问题背景:

我们使用Python操作xlsx文件时,有时候会遇到一个奇怪的错误——"xlrd.biffh.XLRDError: Excel xlsx file; not supported",这种情况可能会令初学者非常困惑,特别是你的代码可以正常操作xls后缀的Excel文件,但无法处理同样内容的xlsx后缀的文件。那么这个错误到底是怎么回事儿呢?

问题原因:

其实,这个问题的根本原因就在于,xlsx文件格式的改变。在Excel 2007之前,可以使用xls后缀的文件格式进行存储,但是在Excel 2007之后,Microsoft将默认文件格式更改为.xlsx格式。为了避免向后兼容问题,xlrd库不再支持.xlsx文件格式,只支持.xls文件格式。可以使用OpenPyXL库读取.xlsx文件。以上就是该问题的原因所在。

接下来就是该问题的具体解决方案。第一个示例:

示例1:以xlrd库为例

使用xlrd库读取.xlsx文件时,会提示"xlrd.biffh.XLRDError: Excel xlsx file; not supported"错误,这时候我们需要通过OpenPyXL库来优雅地解决这个问题。

首先,我们需要安装OpenPyXL库。你可以通过以下命令在终端中安装它:

pip install openpyxl

然后,我们就可以使用以下代码来读取.xlsx文件:

import openpyxl

wb = openpyxl.load_workbook('example.xlsx') # 实例化
sheet = wb.get_sheet_by_name('Sheet1')  # 选择工作表

for i in range(1, sheet.max_row + 1):  # 遍历行
    for j in range(1, sheet.max_column + 1):  # 遍历列
        print(sheet.cell(row=i, column=j).value)  # 输出单元格的值

以上就是使用OpenPyXL库来读取.xlsx文件的示例代码,我们可以发现,和使用xlrd库进行.xlsx文件读取时代码相比较,使用OpenPyXL库的代码更简洁、优雅。同时,这种方式还支持早期版本的Excel文件,如.xls和.xlsm。

第二个示例:

示例2:使用pandas库

pandas提供了一种非常直接的方式来读取.xlsx文件,能够灵活地处理文件中的数据,以及对数据进行切片和过滤。如果你有大量的数据需要进行操作,那么pandas库就是最佳选择。

我们可以使用以下代码来读取.xlsx文件:

import pandas as pd

df = pd.read_excel('example.xlsx',sheet_name = 'Sheet1') # 读取

print(df) # 输出

以上就是使用pandas库来读取.xlsx文件的示例代码。我们可以看到,pandas底层其实也是使用OpenPyXL库来实现读取,只不过它把底层实现封装起来,提供了更高的代码易用性和可读性。

总结:

通过以上两个示例,我们可以知道,当我们需要使用Python来读取.xlsx文件时,即使你习惯于使用xlrd库也无法避免出现"xlrd.biffh.XLRDError: Excel xlsx file; not supported"的问题。因此我们可以使用OpenPyXL库或者pandas库来解决这个问题。同时,这两种方法都十分简洁、易用,无论从代码可读性还是代码实现难度上都更优秀。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python实现仓库管理系统

    Python实现仓库管理系统的攻略 仓库管理系统是一个管理库存、仓储操作、销售等业务的系统,可以对商品进行入库、出库操作,并能够在出库时自动生成出货单等基础功能。Python作为一门高效的编程语言,可以方便地实现这种仓库管理系统。 系统功能设计 首先,对于仓库管理系统的功能设计,我们需要明确以下几个方面的内容: 商品管理功能:可以对货品进行分类、创建、修改、…

    python 2023年5月30日
    00
  • Python全局变量与global关键字常见错误解决方案

    Python全局变量与global关键字常见错误解决方案 在Python中,变量可以被分为全局变量和局部变量。全局变量指定义在函数外部的变量,它在整个程序中都可以使用;而局部变量指定义在函数内部的变量,只能在函数内部使用。在Python中,如果需要在函数内部使用全局变量,需要使用global关键字。 使用global关键字的正确方式 在Python中使用gl…

    python 2023年6月6日
    00
  • Python多线程操作之互斥锁、递归锁、信号量、事件实例详解

    Python多线程操作之互斥锁、递归锁、信号量、事件实例详解 什么是锁? 锁是一种同步机制,用于控制多个线程对共享资源的访问。当一个线程获取一把锁时,其它线程便不能再获取该锁。只有当该线程释放锁之后,其它线程才能获取该锁。 互斥锁 互斥锁使用Lock对象实现,当一个线程和另一个线程尝试获取同一个锁时,其中一个线程会被阻塞,直到该锁被释放。 以下是互斥锁的示例…

    python 2023年5月19日
    00
  • windows上安装python3教程以及环境变量配置详解

    Windows上安装Python3教程 Python是一种通用编程语言,拥有强大而简单易用的特性,广泛用于科学计算、Web开发、人工智能等领域。本教程将介绍在Windows上安装Python3以及环境变量配置的详细步骤。 下载Python3 我们可以从Python官网下载最新版本的Python3。在下载页面(https://www.python.org/do…

    python 2023年5月30日
    00
  • django-celery-beat搭建定时任务的实现

    下面我将详细讲解如何使用Django与Celery Beat搭建定时任务的实现。 这里简单介绍一下Django和Celery Django Django是一个由Python编写的免费、开源的Web框架。它遵循了MVC设计模式,且拥有灵活的URL路由和完善的后台管理,使得Django能够非常方便地开发高质量的Web应用程序。 Celery Celery是一个由…

    python 2023年6月2日
    00
  • python实现监控linux性能及进程消耗性能的方法

    实现监控Linux性能及进程消耗性能的方法主要包含以下几个步骤: 第一步:安装必要软件 监控Linux性能和进程消耗性能通常需要借助于第三方工具,比如Grafana和Prometheus。可以参考以下步骤安装这两个软件(注:以下操作基于Ubuntu系统): 安装最新版Grafana: wget -q -O – https://packages.grafana…

    python 2023年6月3日
    00
  • python获取文件路径、文件名、后缀名的实例

    这里给出“Python获取文件路径、文件名、后缀名的实例”的完整攻略: 1. 获取文件路径 在Python中,获取文件路径的方式有很多种,这里介绍其中比较常用和简单的几种方法。 方法一:使用os模块中的dirname函数 os模块是Python的标准库,其中包含了很多操作系统相关的函数,例如获取文件路径的dirname函数。它的使用方法很简单,只需要将文件的…

    python 2023年6月5日
    00
  • Python中pip工具的安装以及使用

    Python 中 pip 工具的安装以及使用 在 Python 程序开发中,我们通常需要引入一些第三方的包来快速实现某些功能,比如请求网络、数据解析、可视化等等。Pip 是 Python 中一个常用的包管理工具,本文将详细介绍 Pip 工具的安装以及使用方法。 1. 安装 Pip 工具 在大部分情况下,Python 中已经包含了 pip 工具,因此我们可以直…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部