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()