не могу открыть таблицу openpyxl
В начале я скачиваю таблицу с google, затем читаю данные, но выдаётся AttributeError: 'NoneType' object has no attribute 'style'. Сам код:
import openpyxl
load = openpyxl.load_workbook('file.xlsx')
Ошибка:
Traceback (most recent call last):
File "D:\PycharmProjects\Vasya\journal\v2\test.py", line 2, in <module>
load = openpyxl.load_workbook('file.xlsx')
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\reader\excel.py", line 317, in load_workbook
reader.read()
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\reader\excel.py", line 282, in read
self.read_worksheets()
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\reader\excel.py", line 228, in read_worksheets
ws_parser.bind_all()
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\worksheet\_reader.py", line 443, in bind_all
self.bind_merged_cells()
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\worksheet\_reader.py", line 380, in bind_merged_cells
self.ws._clean_merge_range(mcr)
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\worksheet\worksheet.py", line 607, in _clean_merge_range
mcr.format()
File "C:\Users\misha\AppData\Local\Programs\Python\Python39\lib\site-packages\openpyxl\worksheet\merge.py", line 109, in format
if side.style is None:
AttributeError: 'NoneType' object has no attribute 'style'
Если же перед этим в таблице в ручную что-нибудь отредактировать, то ошибка не возвращается. Естественно я не собираюсь редактировать таблицы в ручную, что мне делать?
Ответы (1 шт):
Автор решения: Jack_oS
→ Ссылка
Файлы .xlsx содержат еще и sheet(листы):
from openpyxl import load_workbook
wb = load_workbook('file.xlsx') # откройте файл
# wb = load_workbook('file.xlsx', read_only=True) # для защищенного просмотра
ws = wb.active # выберите активный лист
# ws = wb.get_sheet_by_name(<sheet_name>) # или по имени sheet_name
Теперь уже на выбранном листе ищите нужные вам данные:
cell_obj = ws.cell(row = 1, column = 1)