| Home | Trees | Indices | Help | 
 | 
|---|
|  | 
     object --+            
              |            
  ParserElement --+        
                  |        
ParseElementEnhance --+    
                      |    
         TokenConverter --+
                          |
                         Dict
Converter to return a repetitive expression as a list, but also as a dictionary. Each element can also be referenced using the first token in the expression as its key. Useful for tabular report scraping when the first column can be used as a item key.
Example:
   data_word = Word(alphas)
   label = data_word + FollowedBy(':')
   attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join))
   text = "shape: SQUARE posn: upper left color: light blue texture: burlap"
   attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
   
   # print attributes as plain groups
   print(OneOrMore(attr_expr).parseString(text).dump())
   
   # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names
   result = Dict(OneOrMore(Group(attr_expr))).parseString(text)
   print(result.dump())
   
   # access named fields as dict entries, or output as dict
   print(result['shape'])        
   print(result.asDict())
  prints:
   ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap']
   [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']]
   - color: light blue
   - posn: upper left
   - shape: SQUARE
   - texture: burlap
   SQUARE
   {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'}
  See more examples at ParseResults of accessing fields by results name.
| Instance Methods | |||
| 
 | |||
| 
 | |||
| Inherited from  Inherited from  Inherited from  | |||
| Static Methods | |
| Inherited from  | 
| Class Variables | |
| __slotnames__ =  | |
| Inherited from  | |
| Properties | |
| Inherited from  | 
| Method Details | 
| 
 x.__init__(...) initializes x; see help(type(x)) for signature 
 | 
| 
 
 | 
| Home | Trees | Indices | Help | 
 | 
|---|
| Generated by Epydoc 3.0.1 on Sun Mar 05 20:19:55 2017 | http://epydoc.sourceforge.net |