From 5a91843b561a82d36e5953422bd8fd7a4768a936 Mon Sep 17 00:00:00 2001 From: awertman Date: Sat, 10 Dec 2022 16:22:16 -0500 Subject: [PATCH 1/2] Fixed issue with writing Decimal type to excel file --- pandas/io/excel/_base.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py index 6362e892f0012..b1a70cea74f8f 100644 --- a/pandas/io/excel/_base.py +++ b/pandas/io/excel/_base.py @@ -4,6 +4,7 @@ import datetime from functools import partial from io import BytesIO +from decimal import Decimal import os from textwrap import fill from types import TracebackType @@ -50,6 +51,7 @@ is_bool, is_float, is_integer, + is_decimal, is_list_like, ) @@ -1368,6 +1370,8 @@ def _value_with_fmt(self, val) -> tuple[object, str | None]: val = int(val) elif is_float(val): val = float(val) + elif is_decimal(val): + val = Decimal(val) elif is_bool(val): val = bool(val) elif isinstance(val, datetime.datetime): From cc4ae268794c9714641ffe04fe0b78e2852d9542 Mon Sep 17 00:00:00 2001 From: awertman Date: Sat, 10 Dec 2022 16:39:04 -0500 Subject: [PATCH 2/2] Fixed issue with writing Decimal type to excel file --- pandas/io/excel/_base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py index b1a70cea74f8f..35de5fb075e11 100644 --- a/pandas/io/excel/_base.py +++ b/pandas/io/excel/_base.py @@ -2,9 +2,9 @@ import abc import datetime +from decimal import Decimal from functools import partial from io import BytesIO -from decimal import Decimal import os from textwrap import fill from types import TracebackType @@ -49,9 +49,9 @@ from pandas.core.dtypes.common import ( is_bool, + is_decimal, is_float, is_integer, - is_decimal, is_list_like, )