TypeError при использовании Openpyxl для чтения файлаPython

Программы на Python
Ответить
Anonymous
 TypeError при использовании Openpyxl для чтения файла

Сообщение Anonymous »

Я пробовал Openpyxl и написал следующий код:

Код: Выделить всё

from openpyxl import load_workbook, __version__
workbook = load_workbook(filename="Contacts.xlsx")
sheet = workbook.active
Вот и все, другого кода нет.
При запуске я получил следующую ошибку:
(TL;DR, из-за строки 2 , я получил
"TypeError: __init__() получил неожиданный аргумент ключевого слова 'extLst'")

Код: Выделить всё

"C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\Scripts\python.exe" "C:/Users/taijee/Documents/PythonAll/Python Scripts/newfile.py"
Traceback (most recent call last):
File "C:/Users/taijee/Documents/PythonAll/Python Scripts/newfile.py", line 2, in 
workbook = load_workbook(filename="Contacts.xlsx")
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
reader.read()
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\reader\excel.py", line 279, in read
apply_stylesheet(self.archive, self.wb)
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\styles\stylesheet.py", line 192, in apply_stylesheet
stylesheet = Stylesheet.from_tree(node)
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\styles\stylesheet.py", line 102, in from_tree
return super(Stylesheet, cls).from_tree(node)
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\descriptors\serialisable.py", line 83, in from_tree
obj = desc.from_tree(el)
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in from_tree
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\descriptors\sequence.py", line 85, in 
return [self.expected_type.from_tree(el) for el in node]
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\styles\fills.py", line 64, in from_tree
return PatternFill._from_tree(child)
File "C:\Users\taijee\Documents\PythonAll\Python Scripts\venv\lib\site-packages\openpyxl\styles\fills.py", line 102, in _from_tree
return cls(**attrib)
TypeError: __init__() got an unexpected keyword argument 'extLst'

Process finished with exit code 1
Я искал похожие проблемы и нашел одну, но это было в 2014 году, поэтому было предложено загрузить версию Openpyxl 2.0 вместо 2.2.
Версия openpyxl 3.0.4, версия Python 3.8.3 и Contacts.xlsx определенно существуют в одной папке.
Изменить:
Создание нового файла помогло, но недавно я написал еще одну программу, используя openpyxl. Он работал нормально, но внезапно сломался, выдав ошибку, очень похожую на приведенную выше (я не записал ее тогда, но последняя строка TypeError: __init__() получила неожиданный аргумент ключевого слова 'extLst' определенно совпадает).
Я не вносил никаких изменений в программу между успешными и неудачными запусками, поэтому пришел к выводу, что виноват файл. Я открывал и закрывал файл один раз, хотя не помню, был ли следующий запуск именно тем, когда он сломался. После появления ошибки при открытии файла не удалось сохранить изменения - выдавало какую-то ошибку.
Примечание: у меня нет Office, поэтому я использую Planmaker из пакета SoftMaker Office Suite, чтобы открывать файлы .xlsx, когда мне нужно.
Я удалил файл и создал новый с тем же именем, чтобы не менять код, но проблемы с новым файлом остались, включая невозможность сохранить изменения.
Код заработал только тогда, когда я создал новый файл с другим именем.
Возможно, это даже не проблема openpyxl, но скорее проблема Planmaker, хотя я не понимаю, почему я продолжаю получать эту ошибку.
Тем не менее, если кто-то может объяснить, почему это происходит или как это исправить, я' буду очень благодарен.
А пока я посмотрю, Файл, в котором я никогда не использую openpyxl, по-прежнему будет вызывать у меня ту же проблему, и если да, то выдает ли openpyxl ту же ошибку с этим файлом при использовании в программе.

Подробнее здесь: https://stackoverflow.com/questions/627 ... -read-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»