Найти - Пользователи
Полная версия: При использовании модуля openpyxl возникает ошибка
Начало » Python для новичков » При использовании модуля openpyxl возникает ошибка
1 2
fejanin
Я только несколько месяцев, как начал познавать программирования. Так что прошу прошение у всех кому мой вопрос покажется глупым. Изучаю книгу “Автоматизация рутинных задач при помощи Python”. При использовании модуля openpyxl возникла ошибка. Код и ошибка приведены ниже.

Код:
import openpyxl
wb = openpyxl.load_workbook('example.xlsx')

Ошибка:
Traceback (most recent call last):
File “C:\Disk_D\Programming\Автоматизация рутинных задач\ПОПЫТКА работы с документами\модуль openpyxl.py”, line 2, in <module>
wb = openpyxl.load_workbook('example.xlsx') # - НЕ РАБОТАЕТ!!!
File “C:\Users\Админ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openpyxl\reader\excel.py”, line 174, in load_workbook
src = archive.read(ARC_CONTENT_TYPES)
File “C:\Users\Админ\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py”, line 1314, in read
with self.open(name, “r”, pwd) as fp:
File “C:\Users\Админ\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py”, line 1352, in open
zinfo = self.getinfo(name)
File “C:\Users\Админ\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py”, line 1281, in getinfo
‘There is no item named %r in the archive’ % name)
KeyError: "There is no item named '.xml' in the archive"
fejanin
Может ли быть проблема в не верно установленном модуле и если да, то как ее решить?
doza_and
fejanin
Может ли быть проблема в не верно установленном модуле
Думаю нет. Что там можно неправильно поставить?
Я бы точно не стал работать с такими путями:
\Автоматизация рутинных задач\ПОПЫТКА работы с документами\модуль openpyxl.py
Пробелы и не латинские символы не совместимы с понятием надежность под виндой.

Сначала это уберите.
fejanin
Изменил расположение файлов, как вы рекомендовали.
Ошибка теперь выглядит следующим образом:
Traceback (most recent call last):
File “C:\Disk_D\XLXS_DOC\openpyxl.py”, line 1, in <module>
import openpyxl
File “C:\Disk_D\XLXS_DOC\openpyxl.py”, line 2, in <module>
wb = openpyxl.load_workbook('example.xlsx')
AttributeError: module ‘openpyxl’ has no attribute ‘load_workbook’

Буду благодарен за любой дельный совет.
FishHook
сдеклайте
 >>>python
>import openpyxl
>dir(openpyxl)
и покажите результат
fejanin
Резултат: ‘LXML’, ‘NUMPY’, ‘PANDAS’, ‘Workbook’, ‘__author__’, ‘__author_email__’, ‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__license__’, ‘__loader__’, ‘__maintainer_email__’, ‘__name__’, ‘__package__’, ‘__path__’, ‘__spec__’, ‘__url__’, ‘__version__’, ‘cell’, ‘chart’, ‘chartsheet’, ‘comments’, ‘compat’, ‘constants’, ‘descriptors’, ‘drawing’, ‘formatting’, ‘formula’, ‘here’, ‘json’, ‘load_workbook’, ‘os’, ‘packaging’, ‘reader’, ‘src’, ‘src_file’, ‘styles’, ‘utils’, ‘workbook’, ‘worksheet’, ‘writer’, ‘xml’
fejanin
FishHook, решил поэксперементировать с твоим советом и получил следующий результат:

- ниже приведен измененный код:
import openpyxl
print(dir(openpyxl))
wb = openpyxl.load_workbook('example.xlsx')

А вот что я получил:
'__builtins__', ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__spec__’, ‘openpyxl’
Traceback (most recent call last):
File “C:\Disk_D\XLXS_DOC\openpyxl.py”, line 1, in <module>
import openpyxl
File “C:\Disk_D\XLXS_DOC\openpyxl.py”, line 3, in <module>
wb = openpyxl.load_workbook('example.xlsx')
AttributeError: module ‘openpyxl’ has no attribute ‘load_workbook’

Квадратные скобки убрал, иначе текст не отображается.
Честно сказать мне совершенно непонятно почему в одних случаях он видит ‘load_workbook’,
а в других нет.
FishHook
fejanin

Вероятно, у тебя несколько питонов установлено. Разберись, каким именно интерперетатором ты запускаешь код и когда надо писать openpyxl.load_workbook, а когда openpyxl.openpyxl.load_workbook
fejanin
Питон установлен однозначно ОДИН, но поигрюсь с кодом и отпишусь. Заранее спасибо за помощь!
doza_and
Не очень понятно что вы импортируете
Было
fejanin
модуль openpyxl.py
Стало:
fejanin
\XLXS_DOC\openpyxl.py
Я так понимаю теперь вы назвали свой модуль как системный, чего тут удивляться что у вас то одно то другое импортируется в зависимости от порядка путей в конфигруации запуска.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB