Python: невозможно открыть файл Excel с помощью openpyxl - файл существует и находится в нужном месте - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь написать простой скрипт для копирования и вставки данных в файл Excel.Сначала я изменяю рабочий каталог на каталог с файлом Excel, а затем пытаюсь открыть единственный файл Excel в этой папке с помощью openpyxl.Я получаю сообщение об ошибке при попытке сделать это.Я опубликую свой код и строку модуля openpyxl, которая выдает ошибку.

import openpyxl
import os

os.chdir('C:/Users/Emily Renda/Documents/ExcelWS/Driver Payroll/New Weeks')

wb = openpyxl.load_workbook("Python.xlsx")
sheet = wb.get_sheet_by_name("Payroll")

Этот код завершается ошибкой в ​​строке "wb = .." и выдает следующую ошибку:

File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
packages\openpyxl\drawing\image.py", line 27, in _import_image import Image as PILImage
ModuleNotFoundError: No module named 'Image'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
packages\openpyxl\drawing\image.py", line 29, in _import_image
    from PIL import Image as PILImage
ModuleNotFoundError: No module named 'PIL'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Emily 
Renda/PycharmProjects/payrollExcel/writeExcelFromJava.py", line 6, in 
 <module>
    wb = openpyxl.load_workbook("Python.xlsx")
   File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
packages\openpyxl\reader\excel.py", line 275, in load_workbook
     charts, images = find_images(archive, rel.target)
   File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
  packages\openpyxl\reader\drawings.py", line 47, in find_images
     image = Image(BytesIO(archive.read(dep.target)))
   File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
 packages\openpyxl\drawing\image.py", line 51, in __init__
    image = _import_image(img)
   File "C:\Users\Emily Renda\PycharmProjects\payrollExcel\venv\lib\site- 
 packages\openpyxl\drawing\image.py", line 31, in _import_image
    raise ImportError('You must install PIL to fetch image objects')
 ImportError: You must install PIL to fetch image objects

Строка кода, которая выдает эту ошибку:

     self.fp = io.open(file, filemode)  

в модуле openpyxl.Я прихожу сюда в крайнем случае, я отлаживал около часа и не могу понять, как происходит эта ошибка (хотя я новичок в python)

1 Ответ

0 голосов
/ 02 июня 2019

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

...