xl_in = 'мой_ексель_файл.xlsx'
wb = openpyxl.load_workbook(filename=xl_in, read_only=True)
ws = wb.active # лист экселя (активный)
rows = ws.rows # строки (это итератор по строкам)
first_row = [cell.value for cell in next(rows)] # Первая строка - заголовки
data = [] # это будет выходной массив построчно, каждая строка словарь (имя столбца - значение)
for row in rows:
record = {}
for key, cell in zip(first_row, row):
record[key] = cell.value
data.append(record)
# можно прям в этом цикле написать запрос к базе построчно
# и\или заполнить выходной массив
https://thispointer.com/pretty-print-a-pandas-data...