def csv_file_consumer(csv_rows_consumer, file_path_name): """ Consume the file at file_path_name as a csv file, passing it through csv_rows_consumer. :param csv_rows_consumer: consumes data_items yielding collection for each :type csv_rows_consumer: callable :param file_path_name: path to input csv file :type file_path_name: str, str """ data_path, data_file_name = file_path_name data_items = i_get_csv_data(data_path) return csv_rows_consumer(data_items)
def csv_file_to_file(csv_rows_consumer, out_prefix, out_dir, file_path_name): """ Consume the file at file_path_name as a csv file, passing it through csv_rows_consumer, writing the results as a csv file into out_dir as the same name, lowered, and prefixed. :param csv_rows_consumer: consumes data_items yielding collection for each :type csv_rows_consumer: callable :param out_prefix: prefix out_file_name :type out_prefix: str :param out_dir: directory to write output file to :type out_dir: str :param file_path_name: path to input csv file :type file_path_name: str, str """ data_path, data_file_name = file_path_name data_items = i_get_csv_data(data_path) ensure_dir(out_dir) out_filename = os.path.join( out_dir, '{}{}'.format( out_prefix, data_file_name.lower())) write_as_csv(csv_rows_consumer(data_items), out_filename)