Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.49 KB | None | 0 0
  1.  
  2. def parseText(text):
  3.     output = 'ADD|BORROWER|MTG|DATE\n'
  4.    
  5.     months = ['J A N', 'F E B', 'M A R','A P R','M A Y','J U N','J U L','A U G','S E P','O C T','N O V','D E C']
  6.  
  7.     line_groups = text.split('\n\n')
  8.    
  9.     prev_date = None
  10.     for line_group in line_groups:
  11.         lines = line_group.split('\n')
  12.         out_line = dict()
  13.        
  14.         for m in months:
  15.             if m in lines[0]:
  16.                 out_line['DATE'] = lines[0]
  17.                 prev_date = lines[0]
  18.                 lines = lines[1:]
  19.         else:
  20.             out_line['DATE'] = prev_date
  21.        
  22.         # import ipdb; ipdb.set_trace()
  23.  
  24.         prev_key = None
  25.         for line in lines:
  26.             # print(line)
  27.             if line.startswith('MTG:'):
  28.                 out_line['MTG'] = line.split(': ')[1]
  29.                 prev_key = 'MTG'
  30.             elif line.startswith('ADD:'):
  31.                 out_line['ADD'] = line.split(': ')[1]
  32.                 prev_key = 'ADD'
  33.             elif line.startswith('BORROWER:'):
  34.                 out_line['BORROWER'] = line.split(': ')[1]
  35.                 prev_key = 'BORROWER'
  36.                 # print(prev_key)
  37.             else:
  38.                 # print(prev_key)
  39.                 q = '%s %s' % (out_line[prev_key], line)
  40.                 out_line[prev_key] = q
  41.                 prev_key = None
  42.  
  43.         output += '%s|%s|%s|%s\n' % (out_line.get('ADD', ''), out_line.get('BORROWER', ''), out_line.get('MTG', ''), out_line.get('DATE', ''))
  44.  
  45.     print(output)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement