diff options
Diffstat (limited to 'util.py')
-rw-r--r-- | util.py | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -8,7 +8,8 @@ def load_csv_file(fname, *args, **kargs): | |||
8 | f.close() # don't leak file handles | 8 | f.close() # don't leak file handles |
9 | return data | 9 | return data |
10 | 10 | ||
11 | def write_csv_file(fname, rows, header=None, width=None): | 11 | def write_csv_file(fname, rows, header=None, width=None, |
12 | break_col=None): | ||
12 | if fname is None: | 13 | if fname is None: |
13 | f = Tmp() | 14 | f = Tmp() |
14 | else: | 15 | else: |
@@ -22,10 +23,17 @@ def write_csv_file(fname, rows, header=None, width=None): | |||
22 | f.write('#') | 23 | f.write('#') |
23 | f.write(", ".join([fmt % str(x) for x in header])) | 24 | f.write(", ".join([fmt % str(x) for x in header])) |
24 | f.write('\n') | 25 | f.write('\n') |
26 | last_row = None | ||
25 | for row in rows: | 27 | for row in rows: |
28 | # Insert extra line breaks for Gnuplot plot3d plotting whenever | ||
29 | # the value of break_col changes. | ||
30 | if not last_row is None and not break_col is None: | ||
31 | if last_row[break_col] != row[break_col]: | ||
32 | f.write('\n') | ||
26 | f.write(' ') | 33 | f.write(' ') |
27 | f.write(", ".join([fmt % str(x) for x in row])) | 34 | f.write(", ".join([fmt % str(x) for x in row])) |
28 | f.write('\n') | 35 | f.write('\n') |
36 | last_row = row | ||
29 | if fname is None: | 37 | if fname is None: |
30 | # keep it open | 38 | # keep it open |
31 | f.flush() | 39 | f.flush() |