Openpyxl: Workbook kann nicht gelesen bzw. geladen werden
Verfasst: Samstag 5. März 2022, 10:07
Ich möchte mit Python das mühsame übertragen von Werten von einer Excel-Datei in eine andere automatisieren. Ich möchte dies mit dem Python Modul openpyxl bewerkstelligen.
Wenn ich das Ziel-Workbook laden will mit...
...erhalte ich folgende Fehlermeldung:
Laut der Fehlermeldung kann die Arbeitsmappe nicht gelesen und in Python geladen werden. Hyperlinks und verbundene Zellen scheinen das Problem zu sein. Einige Funktionen im excel.py und reader.py Module in der openpyxl-Bibliothek funktionieren nicht. Die Arbeitsmappe, die ich zu laden versuche, besteht aus 20 Arbeitsblättern, die mit Formeln aufeinander verweisen. Könnten diese internen Links das Problem sein?
Ich habe darüber nachgedacht, die problematischen Zellen in der Arbeitsmappe zu finden, die Hyperlinks zu löschen - wenn überhaupt möglich - und die Zusammenführung von Zellen rückgängig zu machen, aber ich bin nicht der Autor der Excel-Datei und es könnte umständlich sein, diese Hyperlinks und zusammengeführten Zellen in der Arbeitsmappe zu finden. Ich habe versucht, das Dokument zu überprüfen, habe aber keine Möglichkeit gesehen, nach Hyperlinks und zusammengeführten Zellen zu suchen.
Gibt es eine Möglichkeit, das Problem zu lösen?
Wenn ich das Ziel-Workbook laden will mit...
Code: Alles auswählen
>>> stm = openpyxl.load_workbook('2022-03-04_LU_LUKS_STM_DRG_AMA.xlsm')
Code: Alles auswählen
C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\worksheet\header_footer.py:49: UserWarning: Cannot parse header or footer so it will be ignored
warn("""Cannot parse header or footer so it will be ignored""")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\reader\excel.py", line 312, in load_workbook
reader.read()
File "C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\reader\excel.py", line 274, in read
self.read_worksheets()
File "C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\reader\excel.py", line 228, in read_worksheets
ws_parser.bind_all()
File "C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\worksheet\_reader.py", line 402, in bind_all
self.bind_hyperlinks()
File "C:\Users\Dell\AppData\Roaming\Python\Python310\site-packages\openpyxl\worksheet\_reader.py", line 368, in bind_hyperlinks
cell.hyperlink = link
AttributeError: 'MergedCell' object attribute 'hyperlink' is read-only
Ich habe darüber nachgedacht, die problematischen Zellen in der Arbeitsmappe zu finden, die Hyperlinks zu löschen - wenn überhaupt möglich - und die Zusammenführung von Zellen rückgängig zu machen, aber ich bin nicht der Autor der Excel-Datei und es könnte umständlich sein, diese Hyperlinks und zusammengeführten Zellen in der Arbeitsmappe zu finden. Ich habe versucht, das Dokument zu überprüfen, habe aber keine Möglichkeit gesehen, nach Hyperlinks und zusammengeführten Zellen zu suchen.
Gibt es eine Möglichkeit, das Problem zu lösen?