import csv


def read_csv(fpath):
    """Read path to CSV and return data.

    @param fpath: path to input CSV file, as absolute path or relative to
        the app dir. The header row is required and will be used to create
        column names as keys.

    @return data: list of CSV data, where each element is a row in the CSV
        represented as a dictionary.
    """
    with open(fpath) as csv_file:
        reader = csv.DictReader(csv_file)
        data = list(reader)

    return data