<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def main():
 """ This is the main body of the process that does the work. Summary: - load the raw data - read in rules list - create log events for AIKIF according to rules [map] - create new facts / reports based on rules [report] OUTPUT = AIKIF mapping : Date_of_transaction => event AIKIF mapping : Amount => fact AIKIF mapping : Details => location New column : trans_type = DB WHERE amount > 0 ELSE CR summing : details contains "CALTEX" into Travel Expense Done """

    
    print('AIKIF example: Processing Finance data\n')
    data = read_bank_statements('your_statement.csv')
    print(data)
    maps = load_column_maps()
    rules = load_rules()
    
    for m in maps:
        print('AIKIF mapping  : ' + m[0] + ' => ' + m[1])

    for rule in rules:
        #print(rule)
        if rule[0] == 'agg':
            print('summing        : ' + rule[1] + ' into ' +  rule[2] )
        elif rule[0] == 'derive':
            print('New column     : ' + rule[1] + ' = ' + rule[2] + ' WHERE ' + rule[1] + ' ELSE ' + rule[3] )
    
    print('Done\n')