我有以下代码:
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'
根据警告中的xlrd documentation状态:
尝试打开文件
"C:\\Users\\m.macapanas\\Desktop\\OFCCP_Default_Values.xlsm"
的工作簿时,会出现错误,该文件具有.xlsm
扩展名xlrd library显式不支持读取更新的文件格式,如
.xlsm
。因此,您必须切换库,或者找到一种方法将输入文件降级为支持的.xls
格式发行
分析错误
您的脚本无法打开工作簿
属性错误声明,它没有将} object 的属性
extract_formulas
作为xlrd's ^{由不支持的文件格式
.xlsx
正如Nathaniel Ford's answer所解释的:
.xls
另见
替代解决方案
Stackoverflow的研究给出了: How can I open an Excel file in Python?
Working with Excel Files in Python是一个伟大的资源集合,列出了流行的图书馆
移植到OpenPyXL
上面有:openpyxl
安装后,请使用:
您的代码可能被移植到此库,如下所示:
相关问题 更多 >
编程相关推荐