fork download
  1. #with open('/path/to/file.txt', 'rU') as f:
  2. # lines = f.readlines()
  3.  
  4. lines = ["blah blah Column1 blah blah",
  5. " entry1 val1",
  6. " entry2 val2",
  7. "blah blah Column2 blah blah",
  8. " entry3 val3",
  9. " entry4 val4",
  10. ]
  11.  
  12. import re
  13. from collections import defaultdict
  14. d = defaultdict(list)
  15.  
  16. lastKey = None
  17. for line in lines:
  18. m = re.search('Column\d',line)
  19. if m: lastKey = m.group()
  20. else:
  21. m = re.search('(?<=entry\d ).*',line)
  22. if m: d[lastKey].append(m.group())
  23.  
  24. print d.items()
  25.  
  26.  
Success #stdin #stdout 0.02s 8168KB
stdin
Standard input is empty
stdout
[('Column1', ['val1', 'val2']), ('Column2', ['val3', 'val4'])]