| import argparse |
| import csv |
| |
| |
| def main(): |
| parser = argparse.ArgumentParser() |
| parser.add_argument("-f", |
| "--file", |
| help="CSV file for postprocessing", |
| dest="source_filename") |
| parser.add_argument("-o", |
| "--output-file", |
| help="Results file", |
| dest="results_filename") |
| args = parser.parse_args() |
| |
| row_index = 0 |
| headers = [] |
| measurements = {} |
| with open(args.source_filename, "rb") as f: |
| reader = csv.reader(f) |
| for row in reader: |
| if row_index == 0: |
| headers = row |
| elif row_index > 0 and row_index <= 2: |
| item_index = 0 |
| for item in row: |
| if len(item) > 0: |
| headers[item_index] = headers[item_index] + "_" + item |
| item_index = item_index + 1 |
| else: |
| # concatenate first 3 cells |
| name = row[0] + "_" + row[1] + "_" + row[2] |
| item_index = 3 |
| for item in row[item_index:]: |
| if item != "": |
| measurement_name = name + "_" + headers[item_index] |
| measurements.update({measurement_name: item}) |
| item_index = item_index + 1 |
| row_index = row_index + 1 |
| with open(args.results_filename, "a") as results: |
| for key, value in measurements.items(): |
| # key is test name |
| # value is measurement to be recorded |
| results.write("%s pass %s _\r\n" % (key, value)) |
| |
| if __name__ == "__main__": |
| main() |