単純に openpyxl を使用した場合、止まっているのかと心配になる程、遅いのですが、 「read_only=True,data_only=True」や「values_only=True」を指定することで、マシになります。
その1 read_only=True,data_only=True
遅い
wbook = openpyxl.load_workbook(tmp_xlsx_path)
速い
wbook = openpyxl.load_workbook(tmp_xlsx_path, read_only=True, data_only=True)
その2 values_only=True
遅い
while row_no < wsheet.max_row : row_vals = wsheet[row_no] city_code_name_str = row_vals[5].value
速い
for row_vals in wsheet.iter_rows(min_row=12, values_only=True): row_vals = list(row_vals) city_code_name_str = row_vals[5]