def html_table_to_dict_list(soup_table):
    """
    Input: 
      - 'soup_table': a Beatiful soup object that was selected by the tag 'table'.
      
    Returns a list of dicts containing the table's data. 
    It assumes the header is marked by 'th' tags.
    """
    trs = soup_table.find_all('tr')
    html_header  = trs[0].find_all('th')
    table_header = [t.text for t in html_header]
    return [dict(zip(table_header, [t.text for t in tr.find_all('td')])) for tr in trs[1:]]