我在openpyxl模块上做一些学校工作。我试图创建一个基本的工作簿对象,并遇到一个问题,我仍然无法真正理清。我已经看过之前提出的错误问题,似乎其他人都使用相同的方法并且它已经有效,但我不知道为什么它不适合我。我浏览了openpyxl文档,仍然没有解决问题。这就是我所做的。
来自openpyxl导入工作簿 wb =工作簿() Traceback(最近一次调用最后一次): 文件“”,第1行,in TypeError:'module'对象不可调用
当我使用它时:
>>> wb = workbook
然后我得到类型:
>>> type(wb)
<class 'module'>
但如果我试图让ws成为对象:
>>> ws = wb.active
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'openpyxl.workbook' has no attribute 'active'
因为这次失败了我尝试了另一种选择:
>>> ws = wb.get_sheet_by_names
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'openpyxl.workbook' has no attribute'get_sheet_by_names'
所以我试着用这个小代码做一个版本chec:
import openpyxl
from openpyxl import workbook
if openpyxl.__version__ == '2.4.1':
print('Openpyxl is ' + str(openpyxl.__version__) + ' then its up to date')
if openpyxl.__version__ != '2.4.1':
print('Openpyxl is ' + str(openpyxl.__version__))
所以看起来我使用的所有代码似乎都是正确的代码,但是在我的深度下将无法回归。我真的不知道最近发生了什么。有人会帮忙吗?提前谢谢。
答案 0 :(得分:0)
您正在尝试使用模块 workbook
,例如类 Workbook
。
Workbook
是openpyxl.workbook
模块中的一个类,需要相应地导入。注意到Workbook
和workbook
的大写差异。 Python区分大小写,这意味着Workbook
和workbook
是两个不同的实例
from openpyxl.workbook import Workbook, workbook
print(type(Workbook))
>>> <class 'type'>
print(type(workbook))
>>> <class 'module'>
wb = Workbook()
print(type(wb))
>>> <class 'openpyxl.workbook.workbook.Workbook'>
答案 1 :(得分:0)
Python的casesensitivity充分利用了我。我使用的是小写而不是大写。