Как на python прочитать последние n строк в excel файле и как дописать строки в таблицу excel

Есть БД, которая храниться в нескольких екселевских файлах .xlsx. БД переодически пополняется. Хотелось бы оптимизировать процесс обновления. Примерная структура БД:

ID date name
500002 16.04.2024 2:00:00 aaaa

500003 16.04.2024 3:00:00 bbbb

Строк довольно много 500к-1000к. БД отсортирована по времени. После обновления таблица выглядит вот так:

ID date name
500002 16.04.2024 2:00:00 aaaa

500003 16.04.2024 2:30:00 dddd

500004 16.04.2024 3:00:00 bbbb

500005 16.04.2024 3:00:01 cccc

Сейчас для обновления БД прога читает все 100500 строк таблицы и также для записи новых строк.

    import pandas as pd
    import openpyxl

    with pd.ExcelFile('bd1.xlsx') as file_bd:
        bd_df = pd.read_excel(file_bd, engine="openpyxl", sheet_name='baza', usecols='A:DO', skiprows=49, parse_dates=['date'])

    with pd.ExcelWriter('bd1.xlsx', engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
        new_bd_df.to_excel(writer, sheet_name='baza', header=False, index=False, startrow=50)

Для корректного обновления БД достаточно прочитать последние 50к строк и добавить к ним новые данные, но я не знаю как это сделать. Также openpyxl довольно медленный, может есть более эффективный способ чтения/записил?


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