Your custom Dataset implementation could look like this:
class MyDataset(Dataset):
    def __init__(self, train_path):
        self.df = pd.read_csv(train_path, sep',', usecols=['input', 'output'])

    def __getitem__(self, index):
        input_pc = np.loadtxt(df.iloc[index, 0], delimiter=' ')
        output_pc = np.loadtxt(df.iloc[index, 1], delimiter=' ')
        x, y = torch.from_numpy(input_pc), torch.from_numpy(output_pc)
        return x, y

    def __len__(self):
        return len(self.df.shape[0])

This dataset can then be created and passed to the DataLoader via:
dataset = MyDataset('./train.csv')
loader = DataLoader(dataset, batch_size=...)