Print Class Objects Sub-Module
t3co.utils.print_class_objects
obj_to_string(obj, indent=' ')
Converts an object or list of objects to a formatted string representation using a flattened dictionary view for objects with nested dictionaries.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj |
Union[object, List[object]]
|
The object or list of objects to convert. |
required |
indent |
str
|
Indentation string for nested objects. Defaults to " ". |
' '
|
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Formatted string representation of the object. |
Source code in src/t3co/utils/print_class_objects.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
handle_nan(obj)
Replaces NaN values in an object with None.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj |
Union[float, dict, list, Any]
|
The object to process. |
required |
Returns:
| Type | Description |
|---|---|
Union[None, dict, list, float, Any]
|
Union[None, dict, list, float, Any]: The processed object with NaN values replaced by None. |
Source code in src/t3co/utils/print_class_objects.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
custom_default(obj)
Custom default function for JSON serialization.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj |
Any
|
The object to serialize. |
required |
Returns:
| Type | Description |
|---|---|
Union[None, dict, str]
|
Union[None, dict, str]: The serialized object. |
Source code in src/t3co/utils/print_class_objects.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
to_flat_dict(obj, include_prefix=True, prefix='', delimiter='_', nested_attrs=None, include_calcs=True, exclude_list_fields=False, json_lists=True)
Flattens a nested object into a dictionary while preserving the order of declared attributes. Nested dictionaries and list items that are dict-like (or objects with dict) are recursively flattened.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj |
object
|
The object to flatten. |
required |
include_prefix |
bool
|
Whether to include the prefix in the keys. Defaults to True. |
True
|
prefix |
str
|
The prefix for the keys. Defaults to "". |
''
|
delimiter |
str
|
The delimiter for the keys. Defaults to "_". |
'_'
|
nested_attrs |
List[str]
|
List of attribute names to include as nested dictionaries. Defaults to None. |
None
|
include_calcs |
bool
|
Whether to include calculations (e.g. tco_per_year). Defaults to True. |
True
|
exclude_list_fields |
bool
|
Whether to exclude list/array fields to reduce CSV size. Defaults to False. |
False
|
json_lists |
bool
|
Whether to convert lists to JSON strings for CSV compatibility. Defaults to True. |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict
|
The flattened dictionary. |
Source code in src/t3co/utils/print_class_objects.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | |
remove_df_attrs(obj)
Removes attributes from an object if they are DataFrame instances.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj |
object
|
The object to process. |
required |
Source code in src/t3co/utils/print_class_objects.py
196 197 198 199 200 201 202 203 204 205 | |