csb43.formats
¶
Conversion from AEB43 to dict and tabular formats
- class csb43.formats.CsbJsonEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶
a JSON encoder ready for currency and dates
- default(o)¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
- exception csb43.formats.FormatWarning¶
a warning related to conversion formats
- csb43.formats.convert_aeb43_to_dict(batch: Batch, expected_format: str = 'json', decimal_fallback=None) _TablibSurrogate ¶
Convert from CSB43 to a dictionary format
- Args:
- batchBatch
an AEB43 Batch
- expected_formatstr
destination format
- csb43.formats.convert_aeb43_to_tabular(batch: Batch, expected_format='ods', decimal_fallback=None)¶
Convert an AEB43 batch into a tablib data object
Args:
- batchBatch
an AEB43 batch
- expected_format: str
output format
- decimal_fallback: str | None
fall-back representation for decimal objects
Returns a tablib.Databook or tablib.Dataset
- csb43.formats.convert_from_aeb43(batch: Batch, expected_format: str, decimal_fallback: str | None = None)¶
Convert a batch file into a
tablib
data object or a dictionary-like objectArgs:
- batchBatch
an AEB43 batch
- decimal_fallback
decimal number fallback representation:
‘float’: use type float
‘str’: represent decimal as a string
None: use default fallback (‘str’)
Returns
tablib.Databook
,tablib.Dataset
or an object with an attribute named as expected_format
- formats.FORMATS = ['tsv', 'xls', 'json', 'xlsx', 'dbf', 'latex', 'csv', 'jira', 'html', 'yaml', 'rst', 'ods']¶
- formats.TABLIB_FORMATS = ['json', 'xlsx', 'xls', 'yaml', 'csv', 'tsv', 'ods', 'dbf', 'html', 'jira', 'latex', 'rst']¶
- formats.DICT_FORMATS = ['json', 'yaml']¶