`

Pandas读取PHPExcel创建的xls文件出错

 
阅读更多

       想使用Python包Pandas处理一些xls文件,运行时出现类似下面错误:

       xlrd.compdoc.CompDocError: Workbook corruption: seen[2] == 4

       而使用的xlrd 版本是2.0.1

 

       查找的很多内容,是通过修改xlrd的源代码来处理这种情况的.因不想这样解决,所以寻找有没有其它处理方式.

       检查了被处理的xls文件,发现它们是通过PHPExcel生成的导出文件;如果用WPS等软件打开并保存后,

再用处理程序处理,并不会出现上述报错.因此这种情况和文件生成过程是有关系的.

       经过一些资料查找后,在[此处]找到了如下回答:

       From pkm comment (link) the problem is with a Compound File Binary

#pip install OleFileIO-PL
import OleFileIO_PL
import pandas as pd

path = 'file.xls'
with open(path,'rb') as file:
    ole = OleFileIO_PL.OleFileIO(file)
    if ole.exists('Workbook'):
        d = ole.openstream('Workbook')
        x=pd.read_excel(d,engine='xlrd')
        print(x.head())

       经过测试,安装了OleFileIO-PL 0.31后,采用上述样例代码,可解决遇到的异常.同时也指出了产生异常现象的来源.

       同时,在其它的回答中,如下的处理方式,经测试也是可以作为处理方案的:

       Inspired by this answer, but a bit more straigthforward:

       pd.read_excel accepts xlrd.Book objects so you could do:

workbook = xlrd.open_workbook('file_name.xls', ignore_workbook_corruption=True)
excel = pd.read_excel(workbook)

 

 

 

分享到:
评论

相关推荐

    pandas 读取各种格式文件的方法

    下面将详细介绍如何使用pandas读取不同格式的文件以及在读取过程中可能遇到的一些常见问题。 首先,在使用pandas之前,我们需要将pandas库导入到我们的工作环境中,这是进行任何数据处理的前置工序。我们可以使用...

    使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法

    接下来,除了CSV文件外,pandas同样支持Excel文件的读取,使用pd.read_excel()方法可以读取.xlsx或.xls格式的文件,并同样将其转换为DataFrame对象。在本文的示例中,有一个名为phase_detector.xlsx的Excel表格文件...

    Python使用pandas读取csv文件支持utf-8和gbk编码自动识别

    Python 简单使用 pandas 读取excel 的 csv文件处理,支持utf-8和gbk编码自动识别。

    使用Python类似pandas的方式读取xml文件的例子_pandas读取数据库

    本篇将详细讲解如何使用Python中的pandas库来处理XML文件,以实现类似于读取数据库的方式进行数据操作。 首先,让我们了解pandas库。Pandas是Python中一个强大的数据分析工具,它提供了大量可以高效操作大型数据集...

    利用Pandas读取文件路径或文件名称包含中文的csv文件方法

    在实际开发中,我们还可能会遇到多种不同的文件读取问题,这时需要根据不同的情况选择合适的解决方案。例如,有时候我们还需要考虑文件的编码格式,如果文件是utf-8编码,那么通常不会有什么问题,但如果是GBK或其他...

    python处理pandas读取文件名有中文报错问题解决方法

    这个错误提示我们,Pandas在尝试读取该文件时,无法按照默认的utf-8编码来处理文件路径或文件名。 针对这一问题,通常有两种解决方法。首先,如果该问题出现,我们可以尝试改变read_csv函数中的encoding参数,将它...

    Interface-Automation-Test-pandas读取xlsx文件

    python requests + unittest pandas读取xlsx文件 pandas读取xlsx文件 pandas读取xlsx文件 pandas读取xlsx文件 pandas读取xlsx文件

    pandas读取HDF5文件

    pandas读取HDF5文件

    pandas读取txt文件详情步骤完整实现介绍.docx

    在本文中,我们将深入探讨如何使用`pandas`读取TXT文件,特别是利用`read_csv()`函数实现这一过程。这个函数不仅用于读取CSV格式的数据,还能灵活地处理以其他字符分隔的文本文件,如制表符分隔的TXT文件。 首先,...

    使用pandas读取Excel文件的简单示例.pdf

    ### 使用Pandas读取Excel文件的关键知识点 #### 一、Pandas简介 Pandas 是一个强大的数据处理与分析库,在Python编程语言中广泛应用于数据科学领域。它提供了高性能、易于使用的数据结构以及数据分析工具,包括...

    pandas读取xlsx文件.md

    pandas读取xlsx文件

    python中xls转xlsx代码、操作说明、相关第三方库安装文件及安装方式

    使用`pandas`读取xls文件,然后使用`pandas`的`to_excel`方法将其保存为xlsx格式。以下是一个简单的转换示例: ```python import pandas as pd # 读取xls文件 xls_data = pd.read_excel('input_file.xls') ...

    ODBC方式读取xls文件

    - ODBC读取.xls文件可能会比专门设计用于读取Excel的库(如`libxl`、`pandas`等)慢,因为它依赖于通用的数据库接口。 - 对于大量数据或高性能需求,可能需要考虑使用更高效的方法,如直接读取二进制文件,或者...

    pandas读取excel文件

    本项目通过pandas读取Excel文件,结合Pycharts进行数据可视化,旨在对不同站点在不同时间的空气质量指数(AQI)进行深入分析,了解其历史变化趋势,并通过差值运算揭示潜在的模式。 首先,我们来详细解释如何使用...

    pandas读取外部文件.pptx

    `pandas`提供了`read_excel()`函数,它能够方便地从`.xls`、`.xlsx`等格式的Excel文件中加载数据。以下是一个基本的用法: ```python import pandas as pd # 读取Excel文件 data = pd.read_excel('file_path.xlsx'...

    Pandas读取并修改excel的示例代码

    本篇文章将深入探讨如何使用Pandas读取和修改Excel文件,通过实例代码进行详细解析,帮助开发者提高工作效率。 首先,安装Pandas库非常简单。如果你的Python环境是Python2.7,可以通过Python自带的包管理器pip来...

    解决Python中pandas读取*.csv文件出现编码问题

    ### 解决Python中pandas读取*.csv文件出现编码问题 #### 一、问题背景与现象 在使用Python中的pandas库处理CSV文件时,可能会遇到由文件编码格式不匹配导致的问题。例如,在读取非UTF-8编码的CSV文件时,可能会...

    利用pandas读取csv文件,并保存到mysql数据库

    pandas库利用pandas读取csv文件,并保存到mysql数据库

    Python 数据操作教程,使用 PANDAS 读取 CSV 文件的 15 种方法

    Python 数据操作教程,使用 PANDAS 读取 CSV 文件的 15 种方法 Python 是一种广泛使用的编程语言,近年来在数据分析和科学计算领域获得了广泛应用。Pandas 是 Python 中一种非常流行的数据操作库,提供了高效、灵活...

Global site tag (gtag.js) - Google Analytics