import os import re import csv import sys def convert_to_csv(input_file, output_directory): with open(input_file, 'r') as f: content = f.read() # Extracting relevant information using regular expressions task_pattern = re.compile(r'Task(\d+) => (\d+)/worst\s+(\d+)/best\s+(\d+\.\d+)/average') tasks = task_pattern.findall(content) # Sort tasks numerically by task number tasks = sorted(tasks, key=lambda x: int(x[0])) # Extract filename without extension filename_without_extension = os.path.splitext(os.path.basename(input_file))[0] # Writing to CSV output_file_path = os.path.join(output_directory, f'{filename_without_extension}.csv') with open(output_file_path, 'w', newline='') as csv_file: csv_writer = csv.writer(csv_file) csv_writer.writerow(['task', 'best', 'worst', 'average']) for task_info in tasks: task_num, worst, best, avg = task_info csv_writer.writerow([f'Task{task_num}', int(best), int(worst), float(avg)]) if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: python script.py input_directory") sys.exit(1) input_directory = sys.argv[1] output_directory = input_directory for filename in os.listdir(input_directory): if filename.endswith(".log"): input_file_path = os.path.join(input_directory, filename) convert_to_csv(input_file_path, output_directory)