При чтении файла Excel мне нужно идентифицировать объединенную ячейку. Для этого я вызываю функцию merged_cell_ranges
.
workbook = load_workbook(filename=file)
sheet = workbook["RFI"]
# get the list of first cell of merged cell coordinate
list_of_first_coordinate_in_merget_cell = [cell.__str__().split(':')[0] for cell in sheet.merged_cell_ranges]
for range_ in sheet.merged_cell_ranges:
# get current coordinate from all merget cell and set it as a string
cell_obj_to_str = (range_.__str__())
.....
Работает нормально для xlsx . В проекте мне нужно работать с двумя форматами - xls
и xlsx. Я конвертирую из xls в xlsx вот так
if filename.endswith('.xls'):
import pyexcel
_f, _ = filename.split('.')
pyexcel.save_book_as(file_name=file, dest_file_name=f'{_f}.xlsx')
Конвертирует все успешно, openpyxl работает с новым файлом без ошибок, выполняет запросы и возвращает всю необходимую информацию. Единственная проблема в том, что вызов merged_cell_ranges
возвращает пустой результат. При открытии в редакторе Excel я вижу, что все объединенные ячейки находятся на своих местах. Не понимаю, почему это не дает результата. Может есть мысли?