<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def csv_digest_gen(filepath, dialect, has_header, digest_types):
 """Generator of digested values from csv file in filepath Parameters filepath:String \tFile path of csv file to read dialect: Object \tCsv dialect digest_types: tuple of types \tTypes of data for each col """


    with open(filepath, "rb") as csvfile:
        csvreader = csv.reader(csvfile, dialect=dialect)

        if has_header:
            # Ignore first line
            for line in csvreader:
                break

        for line in csvreader:
            yield digested_line(line, digest_types)