From 9b7a24d8ed2ac0524b4781e648f96e65b3a10702 Mon Sep 17 00:00:00 2001 From: abram axel booth <boothaa@gmail.com> Date: Wed, 11 Dec 2024 16:01:16 -0500 Subject: [PATCH] fix: rendering numbers in csv/tsv --- trove/render/simple_csv.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/trove/render/simple_csv.py b/trove/render/simple_csv.py index ed909212f..d3694aa71 100644 --- a/trove/render/simple_csv.py +++ b/trove/render/simple_csv.py @@ -77,10 +77,14 @@ def _row_values(self, osfmap_json: dict) -> list[str]: ] def _row_field_value(self, osfmap_json: dict, field_path: Jsonpath) -> str: - return _MULTIVALUE_DELIMITER.join( + _rendered_values = [ _render_tabularly(_obj) for _obj in _iter_values(osfmap_json, field_path) - ) + ] + if len(_rendered_values) == 1: + return _rendered_values[0] # preserve type for single numbers + # for multiple values, can only be a string + return _MULTIVALUE_DELIMITER.join(map(str, _rendered_values)) def _osfmap_jsonpath(iri_path: typing.Iterable[str]) -> Jsonpath: