出展

 

以下引用

read_only=True,data_only=True,values_only=Trueを使う!
単純に 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]