<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read_pseudo_zval(self):
 """ Create pseudopotential ZVAL dictionary. """

        try:
            def poscar_line(results, match):
                poscar_line = match.group(1)
                results.poscar_line = re.findall(r'[A-Z][a-z]?', poscar_line)

            def zvals(results, match):
                zvals = match.group(1)
                results.zvals = map(float, re.findall(r'-?\d+\.\d*', zvals))

            search = []
            search.append([r'^.*POSCAR.*=(.*)', None, poscar_line])
            search.append([r'^\s+ZVAL.*=(.*)', None, zvals])

            micro_pyawk(self.filename, search, self)

            zval_dict = {}
            for x, y in zip(self.poscar_line, self.zvals):
                zval_dict.update({x: y})
            self.zval_dict = zval_dict

            # Clean-up
            del (self.poscar_line)
            del (self.zvals)
        except:
            raise Exception("ZVAL dict could not be parsed.")