def _pd_df_cols_match_metadata_cols_ordered(df, table_metadata):
    """
    Are the columns in the metadata exactly the same as those in the dataframe
    i.e. same columns in the same order
    """

    pd_columns = list(df.columns)
    md_columns = [c["name"] for c in table_metadata["columns"]]

    return pd_columns == md_columns