On 2019-06-26 22:14, Cecil Westerhof wrote:
MRAB <pyt...@mrabarnett.plus.com> writes:

Does Workbook support the 'with' statement?

If it does, then that's the best way of doing it.

(Untested)

    with Workbook() as wb_out:
        for filepath in filepathArr:
            current_row = []

            with load_workbook(filepath) as wb_in:
                for cell in wb_in.active[src_row]:
                    current_row.append(cell.value)

                wb_out.active.append(current_row)

        wb_out.save(report_start + datetime.now().strftime('%Y-%m-%d') +
report_end)

It seems not. I get AttributeError.

You didn't say which line.

Anyway, if Workbooks are closed using a method called "close", you can wrap them in a "closing" context manager:

    from contextlib import closing

    with closing(Workbook()) as wb_out:
        for filepath in filepathArr:
            current_row = []

            with closing(load_workbook(filepath)) as wb_in:
                for cell in wb_in.active[src_row]:
                    current_row.append(cell.value)
                wb_out.active.append(current_row)

wb_out.save(report_start + datetime.now().strftime('%Y-%m-%d') + report_end)
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to