def get_table_by_id(soup, id):
    """
    Gets all the td, excluding th, from a table with a given id in a given soup.
    :param soup: BeautifulSoup of all tags in which to search for id
    :param id: id of the desired <table> element from which to extract td
    :return: a 2D array of td
    """
    # dont include .tbody after the find() for some reason
    html_table = soup.find(id=id)
    if html_table is None:
        return None
    rows = html_table.find_all('tr')[1:]
    return [row.contents for row in rows]