Extract the first CSV file found in the given ``zip_path`` ZIP file to the
    ``destination`` file. Raises :class:`LookupError` if no CSV file can be
    found in the ZIP.

def extract_csv(zip_path, destination):
    """
    Extract the first CSV file found in the given ``zip_path`` ZIP file to the
    ``destination`` file. Raises :class:`LookupError` if no CSV file can be
    found in the ZIP.
    """
    with zipfile.ZipFile(zip_path) as zf:
        member_to_unzip = None
        for member in zf.namelist():
            if member.endswith('.csv'):
                member_to_unzip = member
                break

        if not member_to_unzip:
            raise LookupError(
                "Couldn't find any CSV file in the archive"
            )

        with zf.open(member_to_unzip) as zfp, \
                open(destination, 'wb') as dfp:
            dfp.write(zfp.read())