code: def rows(self):
          
  
  
          for s_name, s in self.sections.items():
  
              # Yield the section header
              if s.name != 'Root':
                  yield ['']  # Unecessary, but makes for nice formatting. Should actually be done just before write
                  yield ['Section', s.value] + s.property_names
  
              # Yield all of the rows for terms in the section
              for row in s.rows:
                  term, value = row
  
                  term = term.replace('root.', '').title()
  
                  try:
                      yield [term] + value
                  except:
                      yield [term] + [value]
docs: Iterate over all of the rows