pandasのほうが全体的にコード行数が少なそうで有利に見える。
しかしデータが先頭行に無い(空欄行)場合、コラムの制御が簡単でなくなる。
その場合でも、openpyxlは実直な動作で、ワークブックの読んでから、シート単位で読み出すので、なにをどうするのかがわかりやすく、結局間違いが少ない。
ただし、ワークシートの行単位制御にイテレータを用いるので、ややわかりにくい。
そのときは行データからセルを読み出してリストに置き換えて、リストでのデータ扱いをするように単純化すればよい。

例:pandasの場合
import pandas as pd
path_file="C:/Users/XXX/Desktop/test.xlsx"
df = pd.read_excel(path_file, sheet_name='S1', index_col=0)

for index, data in df.iterrows():
    ・・・(コラム名がデータ側で定義されていないと列番号では制御しにくい!)


例:openpyxlの場合
import openpyxl
path_file="C:/Users/XXX/Desktop/test.xlsx"
wb = openpyxl.load_workbook(path_file)
ws = wb["S1"]
for row in ws.iter_rows():
    #print(row,type(row))
    list_cell_row = []
    for cell in row:
        #print(cell.value)
        list_cell_row.append(cell.value)
    print(list_cell_row)
wb.close()