def sequential_join(left_rows, right_rows, header=True):
    len_left_headers = len(left_rows[0])
    len_right_headers = len(right_rows[0])

    if header:
        output = [left_rows[0] + right_rows[0]]
        left_rows = left_rows[1:]
        right_rows = iter(right_rows[1:])
    else:
        output = []

    for left_row in left_rows:
        try:
            right_row = next(right_rows)
            output.append(left_row + right_row)
        except StopIteration:
            output.append(left_row + [u''] * len_right_headers)

    for right_row in right_rows:
        output.append([u''] * len_left_headers + right_row)

    return output
Enable caching of setup requirements (by patching the ``run_egg_info()`` method).
dataset/ETHPy150Open wireservice/csvkit/csvkit/join.py/sequential_join--crossover with--dataset/ETHPy150Open paylogic/pip-accel/pip_accel/__init__.py/SetupRequiresPatch.__enter__