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