code: def read_excitation_energies(self):
          
  
          transitions = list()
  
          # read in file
          with zopen(self.filename, "r") as f:
              line = f.readline()
              td = False
              while line != "":
                  if re.search(r"^\sExcitation energies and oscillator strengths:", line):
                      td = True
  
                  if td:
                      if re.search(r"^\sExcited State\s*\d", line):
                          val = [float(v) for v in float_patt.findall(line)]
                          transitions.append(tuple(val[0:3]))
                  line = f.readline()
          return transitions
docs: Read a excitation energies after a TD-DFT calculation.
  
          Returns:
  
              A list: A list of tuple for each transition such as
                      [(energie (eV), lambda (nm), oscillatory strength), ... ]