PermissionError [errno 13] при запуске скрипта Python openpyxl в Komodo

У меня возникли проблемы с использованием сценариев openpyxl в Komodo edit 9 и python 3.4 в Windows 7. Я скопировал код openpyxl для изучения, но он не будет выполняться из Komodo. Я получаю ошибку разрешения 13. Я проверил свой путь и python34 присутствует. Тот же сценарий будет работать, когда я использую IDLE или командную строку. Моя команда Komodo в настоящее время: %(python3) -u %F Любые идеи о том, что может быть причиной этой проблемы? Код и ошибка приведены ниже

from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter

wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active
ws1.title = "range names"

for row in range(1, 40):
    ws1.append(range(600))

ws2 = wb.create_sheet(title="Pi")

ws2['F5'] = 3.14

ws3 = wb.create_sheet(title="Data")
for row in range(10, 20):
    for col in range(27, 54):
        _ = ws3.cell(column=col, row=row, value="%s" % get_column_letter(col))
print(ws3['AA10'].value)
wb.save(filename = dest_filename)

------- Ошибка начала -----------

AA
Traceback (most recent call last):
  File "C:\Users\PF15043\Desktop\Scripts\Ggizmo\excelReader.py", line 26, in <module>
    wb.save(filename = dest_filename)
  File "C:\Python34\lib\site-packages\openpyxl-2.3.0b1-py3.4.egg\openpyxl\workbook\workbook.py", line 254, in save
    save_workbook(self, filename)
  File "C:\Python34\lib\site-packages\openpyxl-2.3.0b1-py3.4.egg\openpyxl\writer\excel.py", line 195, in save_workbook
    writer.save(filename, as_template=as_template)
  File "C:\Python34\lib\site-packages\openpyxl-2.3.0b1-py3.4.egg\openpyxl\writer\excel.py", line 177, in save
    archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
  File "C:\Python34\lib\zipfile.py", line 923, in __init__
    self.fp = io.open(file, modeDict[mode])
PermissionError: [Errno 13] Permission denied: 'empty_book.xlsx'

person Flynnpc    schedule 30.06.2015    source источник


Ответы (3)


Это просто ошибка операционной системы, говорящая вам, что у вас нет прав на создание файла там, где вы пытаетесь это сделать. Вы должны указать полный путь к файлу, который вы пытаетесь создать.

person Charlie Clark    schedule 01.07.2015
comment
Великолепно! Спасибо. Раньше я пытался использовать полный путь, но забыл убрать обратную косую черту. Спасибо большое за вашу помощь. - person Flynnpc; 01.07.2015
comment
Совет: используйте os.path.join() для путей, чтобы вам не пришлось беспокоиться о разделителе пути и его экранировании. - person Charlie Clark; 01.07.2015
comment
Это хороший совет. Это дает мне прекрасную возможность начать изучение модуля os.path. Спасибо еще раз за помощь. - person Flynnpc; 01.07.2015

Вчера я столкнулся с той же проблемой, но потому, что я тупо открыл книгу, пытаясь запустить скрипт. Закрытие решило проблему.

person lkostka    schedule 12.02.2016

По умолчанию ваше местоположение может быть установлено на диск C, который является частью ОС.

Просто попробуйте так, у меня тоже такая же проблема.

  location = "E:\output.xlsx"
  data = []
  writer = pd.ExcelWriter(location)
person Mohankumar M    schedule 10.07.2019