From 0c09f3486fa4db0e2f4f5ee415b846107cceace6 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Thu, 23 May 2024 15:13:47 +0200 Subject: Support CSV exports in UNIX dialect (without CRLF) via --export-csv-dialect --- bin/analyze-archive.py | 4 +++- bin/analyze-kconfig.py | 4 +++- bin/analyze-log.py | 4 +++- lib/cli.py | 12 ++++++++++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py index 53a8c37..0587ce1 100755 --- a/bin/analyze-archive.py +++ b/bin/analyze-archive.py @@ -426,7 +426,9 @@ def main(): dfatool.cli.print_info_by_name(model, by_name) if args.export_csv_unparam: - dfatool.cli.export_csv_unparam(model, args.export_csv_unparam) + dfatool.cli.export_csv_unparam( + model, args.export_csv_unparam, dialect=args.export_csv_dialect + ) if args.export_pgf_unparam: dfatool.cli.export_pgf_unparam(model, args.export_pgf_unparam) diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py index d148641..da58bc7 100755 --- a/bin/analyze-kconfig.py +++ b/bin/analyze-kconfig.py @@ -354,7 +354,9 @@ def main(): dfatool.cli.print_info_by_name(model, by_name) if args.export_csv_unparam: - dfatool.cli.export_csv_unparam(model, args.export_csv_unparam) + dfatool.cli.export_csv_unparam( + model, args.export_csv_unparam, dialect=args.export_csv_dialect + ) if args.export_pgf_unparam: dfatool.cli.export_pgf_unparam(model, args.export_pgf_unparam) diff --git a/bin/analyze-log.py b/bin/analyze-log.py index dd32fab..a394b10 100755 --- a/bin/analyze-log.py +++ b/bin/analyze-log.py @@ -125,7 +125,9 @@ def main(): dfatool.cli.print_info_by_name(model, by_name) if args.export_csv_unparam: - dfatool.cli.export_csv_unparam(model, args.export_csv_unparam) + dfatool.cli.export_csv_unparam( + model, args.export_csv_unparam, dialect=args.export_csv_dialect + ) if args.export_pgf_unparam: dfatool.cli.export_pgf_unparam(model, args.export_pgf_unparam) diff --git a/lib/cli.py b/lib/cli.py index 310314b..297944b 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -358,13 +358,13 @@ def export_dot(model, dot_prefix): logger.info(f"Dot export of model saved to {filename}") -def export_csv_unparam(model, csv_prefix): +def export_csv_unparam(model, csv_prefix, dialect="excel"): import csv for name in sorted(model.names): filename = f"{csv_prefix}{name}.csv" with open(filename, "w") as f: - writer = csv.writer(f) + writer = csv.writer(f, dialect=dialect) writer.writerow( ["measurement"] + model.parameters + sorted(model.attributes(name)) ) @@ -478,6 +478,14 @@ def add_standard_arguments(parser): type=str, help="Export raw (parameter-independent) observations in CSV format to {PREFIX}{name}-{attribute}.csv", ) + parser.add_argument( + "--export-csv-dialect", + metavar="DIALECT", + type=str, + choices=["excel", "excel-tab", "unix"], + default="excel", + help="CSV dialect to use for --export-csv-unparam", + ) parser.add_argument( "--export-pgf-unparam", metavar="PREFIX", -- cgit v1.2.3