<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _extract_table(table_data, current, pc, ts, tt):
 """ Use the given table data to create a time series entry for each column in the table. :param dict table_data: Table data :param dict current: LiPD root data :param str pc: paleoData or chronData :param list ts: Time series (so far) :param bool summary: Summary Table or not :return list ts: Time series (so far) """

    current["tableType"] = tt
    # Get root items for this table
    current = _extract_table_root(table_data, current, pc)
    # Add in modelNumber and tableNumber if this is "ens" or "summ" table
    current = _extract_table_model(table_data, current, tt)
    # Add age, depth, and year columns to root if available
    _table_tmp = _extract_special(current, table_data)
    try:
        # Start creating entries using dictionary copies.
        for _col_name, _col_data in table_data["columns"].items():
            # Add column data onto root items. Copy so we don't ruin original data
            _col_tmp = _extract_columns(_col_data, copy.deepcopy(_table_tmp), pc)
            try:
                ts.append(_col_tmp)
            except Exception as e:
                logger_ts.warn("extract_table: Unable to create ts entry, {}".format(e))
    except Exception as e:
        logger_ts.error("extract_table: {}".format(e))
    return ts