import pandas as pd from datetime import datetime from dateutil.parser import parse # ---------------------------- # USER CONFIGURATION # all answers should be in double quotes # avoid spaces and special characters # intraday should be True or False with no quotes # input_file_name = "C:/users/Dave/Documents/cK.csv" output_file_name = "C:/users/Dave/Documents/CLforBA.csv" symbol = "CL" direction = "Long" strategy_name = "CLkase" intraday = True # -------------------------------- # read in TradeStation report # df = pd.read_csv(input_file_name,delimiter=',',index_col=2,parse_dates=True,header=None) if df.index[-1] == "Open": df = df[:-1] if intraday: df.index = [parse(d) for d in df.index] df.index = [pd.to_datetime(d) for d in df.index] else: df.index = [pd.to_datetime(d) for d in df.index] df['Time'] = [str(d.hour * 10000 + d.minute * 100 + d.second) if intraday else "170000" for d in df.index] df['Results'] = [float(x.replace('(','-').replace('$','').replace(')','').replace(',','')) for x in df[6]] # --------------------------- # Create File # fh = open(output_file_name,'w') fh.write("#%s,%s,%s\n" % (symbol,strategy_name,direction)) # ---------------------------- # Grab trades # for i,d in enumerate(df.index): if df[1][i] == "Sell" or df[1][i] == "Buy to Cover": fh.write("%s,%s,%s,%s,%.2f\n" % (df.index[i-1].strftime("%Y%m%d"),df['Time'][i-1],df.index[i].strftime("%Y%m%d"),df['Time'][i],df['Results'][i])) fh.close()