import sys import os import pandas as pd def generate_delta_csv(csv_pcp, csv_ppcp, output_directory=None): # If output_directory is not provided, use the current directory if output_directory is None: output_directory = os.getcwd() # Load CSV data into Pandas DataFrames df_pcp = pd.read_csv(csv_pcp) df_ppcp = pd.read_csv(csv_ppcp) # Ensure the tasks are in the same order df_pcp = df_pcp.sort_values(by='task').reset_index(drop=True) df_ppcp = df_ppcp.sort_values(by='task').reset_index(drop=True) # Calculate the differences df_delta = df_pcp.copy() df_delta[['worst', 'best', 'average', 'missed']] = df_pcp[['worst', 'best', 'average', 'missed']] - df_ppcp[['worst', 'best', 'average', 'missed']] # Save the result as CSV output_delta_path = os.path.join(output_directory, f'{os.path.basename(csv_pcp).replace("_PCP_", "_DELTA_")}') df_delta.to_csv(output_delta_path, index=False) if __name__ == "__main__": if len(sys.argv) != 4 and len(sys.argv) != 3: print("Usage: python script.py csv_pcp csv_ppcp [output_directory]") sys.exit(1) csv_pcp = sys.argv[1] csv_ppcp = sys.argv[2] output_directory = sys.argv[3] if len(sys.argv) == 4 else '.' generate_delta_csv(csv_pcp, csv_ppcp, output_directory)