Skip to content

Commit fea4e58

Browse files
committed
Transpose CSV output
1 parent f862b89 commit fea4e58

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

util/analyze/ioutils.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import argparse
22
import csv
3+
from io import StringIO
34

45

56
class _Writer:
@@ -26,14 +27,18 @@ def __init__(self, f, data: dict, fieldnames=None):
2627
if fieldnames is None:
2728
fieldnames = ['Benchmark', *data['Total'].keys()]
2829

29-
self.__csv_writer = csv.DictWriter(f, fieldnames=fieldnames)
30+
self.__f = f
31+
self.__mem_file = StringIO()
32+
self.__csv_writer = csv.DictWriter(self.__mem_file, fieldnames=fieldnames)
3033
self.__csv_writer.writeheader()
3134

3235
def _benchdata(self, data):
3336
self.__csv_writer.writerow(data)
3437

3538
def _finish(self):
36-
pass
39+
self.__mem_file.seek(0)
40+
transposed = zip(*csv.reader(self.__mem_file))
41+
csv.writer(self.__f).writerows(transposed)
3742

3843

3944
class _HumanWriter(_Writer):

0 commit comments

Comments
 (0)