def parse_data()

in perfrunbook/utilities/sar_parse.py [0:0]


    def parse_data(self, f, save_parquet=True):
        line = f.readline()
        data = {}
        for key in self.fields:
            data[key[0]] = []

        while(line):
            match_data = self.regex_data.match(line)
            if match_data:
                s = {'date': self.start,
                     'time': match_data['time']}
                d = self.parse_time(s, self.last_date)
                data['time'].append(d)
                self.last_date = d

                # Every other field is not special
                for key in self.fields[1:]:
                    data[key[0]].append(key[1](match_data[key[0]]))

                line = f.readline()
                continue
            match_footer = self.regex_footer.match(line)
            if match_footer:
                break
            line = f.readline()

        df = pd.DataFrame(data)
        df = df.set_index('time')
        if (save_parquet):
            df.to_parquet(self.parquet_name, compression='gzip')
        return df