我有这个代码:
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()
那么结果就是错误
根据警告中的xlrd留档状态:
该库将不再读取. xls文件以外的任何内容。
当您尝试打开具有. xlsm
扩展名的文件"C:\\用户\\m.macapanas\\Desktop\\OFCCP_Default_Values.xlsm"
的工作簿时,会弹出错误。
xlrd库明确不支持读取较新的文件格式,如. xlsm
。因此,您要么切换库,要么想办法将输入文件降级为支持的.xls
格式。
第4行,excel_workbook=xlrd.open_workbook(路径)
您的脚本无法打开工作簿。
Book对象没有属性extract_formulas
属性错误指出,它没有找到extract_formulas
作为xlrd的Book
对象的属性。
正如纳撒尼尔·福特的回答所解释的:
. xls
Stackoverflow的研究给出:如何在Python中打开Excel文件?
在Python中使用Excel文件是一个很好的资源集合,其中列出了流行的库。
上面有: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()