def print_output(self):
        """ Outputs final list of measures to screen a csv file.

        The .csv file created has the same name as the input file, with
        "vfclust_TYPE_CATEGORY" appended to the filename, where TYPE indicates
        the type of task performed done (SEMANTIC or PHONETIC) and CATEGORY
        indicates the category requirement of the stimulus (i.e. 'f' or 'animals'
        for phonetic and semantic fluency test, respectively.
        """
        if self.response_format == "csv":
            for key in self.measures:
                if "TIMING_" in key:
                    self.measures[key] = "NA"

        if not self.quiet:
            print
            print self.type.upper() + " RESULTS:"

            keys = [e for e in self.measures if 'COUNT_' in e]
            keys.sort()
            print "Counts:"
            print_table([(entry, str(self.measures[entry])) for entry in keys])

            keys = [e for e in self.measures if 'COLLECTION_' in e]
            keys.sort()
            print
            print "Collection measures:"
            print_table([(entry, str(self.measures[entry])) for entry in keys])

            if self.response_format == "TextGrid":
                keys = [e for e in self.measures if 'TIMING_' in e]
                keys.sort()
                print
                print "Time-based measures:"
                print_table([(entry, str(self.measures[entry])) for entry in keys])

        #write to CSV file
        if self.target_file:
            with open(self.target_file, 'w') as outfile:
                header = ['file_id'] + \
                         [self.type + "_" + e for e in self.measures if 'COUNT_' in e] + \
                         [self.type + "_" + e for e in self.measures if 'COLLECTION_' in e] + \
                         [self.type + "_" + e for e in self.measures if 'TIMING_' in e]
                writer = csv.writer(outfile, quoting=csv.QUOTE_MINIMAL)
                writer.writerow(header)
                #the split/join gets rid of the type appended just above
                writer.writerow([self.measures["file_id"]] +
                                [self.measures["_".join(e.split('_')[1:])] for e in header[1:]])
Outputs final list of measures to screen a csv file.

        The .csv file created has the same name as the input file, with
        "vfclust_TYPE_CATEGORY" appended to the filename, where TYPE indicates
        the type of task performed done (SEMANTIC or PHONETIC) and CATEGORY
        indicates the category requirement of the stimulus (i.e. 'f' or 'animals'
        for phonetic and semantic fluency test, respectively.