как быстро зачитать данные листа xlsx (Python) для дальнейшей обработки данных

Имею дело с большими xlsx файлами - более 800 000 строк. Пробовал разные модули/фреймы для зачитки: pandas, openpyxl. Результат всегда один - крайне медленная загрузка или обработка данных. Приходится сначала сохранять как txt, и зачитывать уже его. Например разница в скорости xlsx vs txt для файла 150 000 строк 60сек vs 4 сек, представьте что происходит при 800 000 строк. Есть ли какое-либо решение?

Как пример (expru.xlsx содержит 150 000строк) такой txt отрабатывает за 1-4 сек, xlsx 60-70сек

import time
import openpyxl


start_time = time.time()

wb = openpyxl.load_workbook(filename = 'expru.xlsx', read_only=True)
print(wb.get_sheet_names())

sheet = wb.get_sheet_by_name('Лист1')

rows = sheet.max_row
cols = sheet.max_column

print("размер таблицы = ", rows, 'строк', cols, 'столбцов')

for row in sheet[1:rows]:
    string = ''
    for cell in row:
        string = string + str(cell.value) + ' '
    print(string)
    
print("--- %s seconds ---" % (time.time() - start_time))

Ответы (0 шт):