<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def upload_to_metta(train_features_path, train_labels_path, test_features_path, test_labels_path, train_quarter, test_quarter, num_dimensions):
 """Store train and test matrices using metta Args: train_features_path (str) Path to matrix with train features train_labels_path (str) Path to matrix with train labels test_features_path (str) Path to matrix with test features test_labels_path (str) Path to matrix with test labels train_quarter (str) Quarter of train matrix test_quarter (str) Quarter of test matrix num_dimensions (int) Number of features """

    train_config = metta_config(train_quarter, num_dimensions)
    test_config = metta_config(test_quarter, num_dimensions)

    X_train = pd.read_csv(train_features_path, sep=',')
    X_train.columns = ['doc2vec_'+str(i) for i in range(X_train.shape[1])]
    #X_train['label'] = pd.Series([randint(0,23) for i in range(len(X_train))])
    Y_train = pd.read_csv(train_labels_path)
    Y_train.columns = ['onet_soc_code']
    train = pd.concat([X_train, Y_train], axis=1)

    X_test = pd.read_csv(test_features_path, sep=',')
    X_test.columns = ['doc2vec_'+str(i) for i in range(X_test.shape[1])]
    #X_test['label'] = pd.Series([randint(0,23) for i in range(len(X_test))])
    Y_test = pd.read_csv(test_labels_path)
    Y_test.columns = ['onet_soc_code']
    test = pd.concat([X_test, Y_test], axis=1)
    #print(train.head())
    #print(train.shape)
    #print(test.head())
    #print(test.shape)
    metta.archive_train_test(
        train_config,
        X_train,
        test_config,
        X_test,
        directory='wdi'
    )