书籍没有extract_formulas属性,调用xlrd.open_workbook()。
书籍没有extract_formulas属性,调用xlrd.open_workbook()。
我有这段代码:
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()
然后结果是错误的
Traceback (most recent call last):
File \"C:/Users/m.macapanas/IdeaProjects/OFCCP Tool/Read Excel File with Python/Pandas.py\", line 4, in
excel_workbook = xlrd.open_workbook(path)
File \"C:\\Users\\m.macapanas\\AppData\\Roaming\\Python\\Python36\\site-packages\\xlrd_init_.py\", line 141, in open_workbook
ragged_rows=ragged_rows,
File \"C:\\Users\\m.macapanas\\AppData\\Roaming\\Python\\Python36\\site-packages\\xlrd\\xlsx.py\", line 808, in open_workbook_2007_xml
x12book.process_stream(zflo, \'Workbook\')
File \"C:\\Users\\m.macapanas\\AppData\\Roaming\\Python\\Python36\\site-packages\\xlrd\\xlsx.py\", line 265, in process_stream
meth(self, elem)
File \"C:\\Users\\m.macapanas\\AppData\\Roaming\\Python\\Python36\\site-packages\\xlrd\\xlsx.py\", line 392, in do_sheet
sheet = Sheet(bk, position=None, name=name, number=sheetx)
File \"C:\\Users\\m.macapanas\\AppData\\Roaming\\Python\\Python36\\site-packages\\xlrd\\sheet.py\", line 326, in init
self.extract_formulas = book.extract_formulas
AttributeError: \'Book\' object has no attribute \'extract_formulas\'
问题
分析错误
第4行代码中,
excel_workbook = xlrd.open_workbook(path)
您的脚本无法打开工作簿。
AttributeError:'Book'对象没有属性'extract_formulas'
属性错误说明,在xlrd的Book
对象中找不到extract_formulas
属性。
由于不支持的文件格式.xlsx
而导致
正如Nathaniel Ford的回答所解释的:
- xlrd(截至当前版本2.0.1)仅支持较旧的Excel文件格式
.xls
另请参阅
备选解决方案
Stackoverflow上的研究给出了:如何在Python中打开Excel文件?
使用Python处理Excel文件是一个很好的资源集合,列出了流行的库。
移植到OpenPyXL
在顶部有:openpyxl
读写Excel 2010文件(即:.xlsx)的推荐包
安装后使用:
pip install openpyxl
您的代码可能会移植到这个库中,例如:
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()