首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图书没有调用extract_formulas ()的xlrd.open_workbook属性

图书没有调用extract_formulas ()的xlrd.open_workbook属性
EN

Stack Overflow用户
提问于 2021-08-04 17:27:00
回答 2查看 229关注 0票数 0

我有这样的代码:

代码语言:javascript
复制
import xlrd

path = "C:\\Users\\m.macapanas\\Desktop\\OFCCP_Default_Values.xlsm"
excel_workbook = xlrd.open_workbook(path)
excel_worksheet = excel_workbook.sheet_by_index(0)


#Read from Excel Worksheet
print("Your Worksheet has " + str(excel_worksheet.ncols) + " columns")
print("Your Worksheet has " + str(excel_worksheet.nrows) + " rows")

for row in range (excel_worksheet.nrows):
    for col in range(excel_worksheet.ncols):
        print(excel_worksheet.cell_value(row, col), end='')
        print('\t', end='')
    print()

则结果是错误。

回溯(最近一次调用):文件“C:/User/m.macapana/IdeaProjects/OFCCP工具/用Python/Pandas.py读取Excel文件”,第4行,在excel_workbook =xlrd.open_workbook(路径)文件第141行,在open_workbook ragged_rows=ragged_rows中,在文件"C:\Users\m.macapanas\AppData\Roaming\Python\Python36\site-packages\xlrd\xlsx.py",第808行,在"C:\Users\m.macapanas\AppData\Roaming\Python\Python36\site-packages\xlrd\xlsx.py",x12book.process_stream(zflo,'Workbook')文件第265行中,在process_stream meth(self,elem) File "C:\Users\m.macapanas\AppData\Roaming\Python\Python36\site-packages\xlrd\xlsx.py",第392行中,在do_sheet sheet = Sheet(bk,position=None,name=name,文件"C:\Users\m.macapanas\AppData\Roaming\Python\Python36\site-packages\xlrd\sheet.py",第326行,在init self.extract_formulas = book.extract_formulas AttributeError中:'Book‘object没有属性'extract_formulas’

EN

回答 2

Stack Overflow用户

发布于 2021-08-04 18:07:28

根据文档在警告中的状态

此库将不再读取.xls文件以外的任何内容。

当您试图打开具有"C:\\Users\\m.macapanas\\Desktop\\OFCCP_Default_Values.xlsm"扩展名的文件.xlsm的工作簿时,会弹出错误。

图书馆显式地不支持读取新的文件格式,比如.xlsm。因此,要么切换库,要么找到一种方法将输入文件降级为支持的.xls格式。

票数 2
EN

Stack Overflow用户

发布于 2021-08-04 18:46:57

问题

分析误差

第4行,在excel_workbook =xlrd.open_workbook(路径)中

您的脚本无法打开工作簿。

AttributeError:“Book”对象没有属性“extract_formulas”

属性-错误状态下,它找不到extract_formulas作为对象的属性.

由不支持的文件格式.xlsx引起的。

正如纳撒尼尔·福特的回答所解释的:

  • xlrd (截至当前版本2.0.1)只支持旧的Excel文件格式的.xls

另请参阅

替代解

对堆栈溢出机制的研究:如何用Python打开Excel文件?

在Python中使用Excel文件是一个很好的资源集合,它列出了流行的图书馆。

移植到OpenPyXL

在上面:https://openpyxl.readthedocs.io/en/stable/

用于读写Excel2010文件的推荐包(即:.xlsx)

安装后使用:

代码语言:javascript
复制
pip install openpyxl

您的代码可能被移植到这个库中,如下所示:

代码语言:javascript
复制
from openpyxl import load_workbook

path = "C:\\Users\\m.macapanas\\Desktop\\OFCCP_Default_Values.xlsm"

excel_workbook = load_workbook(filename = path)
excel_worksheet = excel_workbook. worksheets[0] # first worksheet


# Read from Excel Worksheet
print("Your Worksheet has " + str(excel_worksheet.ncols) + " columns")
print("Your Worksheet has " + str(excel_worksheet.nrows) + " rows")

for row in excel_worksheet.rows:
    for col in excel_worksheet.cols:
        print(excel_worksheet.cell(row, col), end='')
        print('\t', end='')
    print()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68655639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档