我試圖從腳本中使用openpyxl。Python IDLE openpyxl - 運行腳本時出現AttributeError
當從IDLE外殼採用openpyxl,一切順利的話:
Python 2.7.9 |Anaconda 2.2.0 (32-bit)| (default, Dec 18 2014, 17:00:07) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import openpyxl as px
>>> wb = px.workbook.Workbook()
>>>
,我可以使用所有其他openpyxl-功能。
然而,在腳本中把這個當...:
import openpyxl as px
wb = px.workbook.Workbook()
(注意,腳本被稱爲/另存爲 'openpyxl_2.py')
和運行IDLE劇本,我得到以下錯誤:
Python 2.7.9 |Anaconda 2.2.0 (32-bit)| (default, Dec 18 2014, 17:00:07) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "\\verdc01\userdocs$\wkvdleeden\My Documents\Python excel\openpyxl_2.py", line 1, in <module>
import openpyxl as px
File "\\verdc01\userdocs$\wkvdleeden\My Documents\Python excel\openpyxl.py", line 8, in <module>
AttributeError: 'module' object has no attribute 'workbook'
>>>
使用Python 2.7.9和2.3.2 openpyxl(很好地安裝了PIP)。
問:
如何來從一個腳本運行,我得到上述錯誤? 如何讓它工作?
郵政scriptum - 注意,我已經檢查了以下主題: cannot import workbook in openpyxl, Import error for openpyxl, openpyxl library - jdcal error
嘗試重命名文件的蟒蛇。看起來你已經將它命名爲與模塊名稱相同。所以這個模塊會被腳本「遮蔽」。 [見此](http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html#the-name-shadowing-trap) – M4rtini
@ M4rtini已經嘗試過。爲了好的措施,重新啓動計算機以確保IDLE不會引用腳本的某種舊副本。但是,謝謝你的提示! – Willem
因此錯誤輸出中提到的文件被重命名? 「\\ verdc01 \ userdocs $ \ wkvdleeden \ My Documents \ Python excel \ openpyxl.py」 您可以嘗試打印出'px .__ file__'的輸出以查看實際加載的模塊。 – M4rtini