<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _merge_csv_column(table, csvs):
 """ Add csv data to each column in a list of columns :param dict table: Table metadata :param str crumbs: Hierarchy crumbs :param str pc: Paleo or Chron table type :return dict: Table metadata with csv "values" entry :return bool ensemble: Ensemble data or not ensemble data """


    # Start putting CSV data into corresponding column "values" key
    try:
        ensemble = is_ensemble(table["columns"])
        if ensemble:
            # realization columns
            if len(table["columns"]) == 1:
                for _name, _column in table["columns"].items():
                    _column["values"] = csvs
            # depth column + realization columns
            elif len(table["columns"]) == 2:
                _multi_column = False
                for _name, _column in table["columns"].items():
                    if isinstance(_column["number"], (int, float)):
                        col_num = cast_int(_column["number"])
                        _column['values'] = csvs[col_num - 1]
                    elif isinstance(_column["number"], list):
                        if _multi_column:
                            raise Exception("Error: merge_csv_column: This jsonld metadata looks wrong!\n"
                                  "\tAn ensemble table depth should not reference multiple columns of CSV data.\n"
                                  "\tPlease manually fix the ensemble columns in 'metadata.jsonld' inside of your LiPD file.")
                        else:
                            _multi_column = True
                            _column["values"] = csvs[2:]
        else:
            for _name, _column in table['columns'].items():
                col_num = cast_int(_column["number"])
                _column['values'] = csvs[col_num - 1]
    except IndexError:
        logger_csvs.warning("merge_csv_column: IndexError: index out of range of csv_data list")
    except KeyError:
        logger_csvs.error("merge_csv_column: KeyError: missing columns key")
    except Exception as e:
        logger_csvs.error("merge_csv_column: Unknown Error:  {}".format(e))
        print("Quitting...")
        exit(1)

    # We want to keep one missing value ONLY at the table level. Remove MVs if they're still in column-level
    return table, ensemble