Source code for llvm_ir_dataset_utils.tools.count_values
"""A tool for counting various quantities like tokens from gathered statistics
CSV files.
"""
import logging
import csv
from absl import app
from absl import flags
FLAGS = flags.FLAGS
flags.DEFINE_multi_string(
    'stats_path', None, 'The path to a statistics file containing some count.')
flags.DEFINE_string('key', 'token_count', 'The column in the CSV to sum over.')
[docs]def count_values_from_file(file_path):
  count = 0
  with open(file_path) as count_file:
    count_reader = csv.DictReader(count_file)
    for count_entry in count_reader:
      count += int(count_entry[FLAGS.key])
  return count 
[docs]def main(_):
  total_count = 0
  for stats_path in FLAGS.stats_path:
    total_count += count_values_from_file(stats_path)
  logging.info(f'Total for column {FLAGS.key} {total_count}.') 
if __name__ == '__main__':
  app.run(main)