Create a v2 psr config to keep backwards compatibility
Design Features of the new config format should include:
- Clearly delineate input format (describing how the pdf is structured) from processing (cleaning, transforming and other processing to a standard pandas dataframe format) and and output format (describing what the output should look like including file format, data type format, column selection and ordering)
- Config at the overall document/table level, which can be overridden at the page, column or row level
- This will likely involved some sort of nested duplication of config attributes
- Sensible defaults when not all config options are provided
- Extensibility as more features are added
- Support for reading in generic tables not just bank statements (though there should be further subtype options for subtypes like bank statements, time series data, matrix data etc.)
- Don't try to do too much. Functionality focus should be on extracting pdf data and outputting a valid, usable csv. Anything that can be easily dealt with the data in csv format can be left as a postprocessing task for the user in whatever toolchain they're most comfortable it
- Allow for config file format as JSON, YAML and perhaps other standards
Specific use case features should include:
- Current data cleaning options
- Stripping of non-numeric characters
- Thousand separator
- Decimal character
- Negative value indicator (e.g. -1000, 1000-, (1000), 1000 DR etc.)
- Selecting specific pages or page ranges to include or exclude
- Flagging of rows as invalid data
- Inclusion of invalid data rows as "extra" fields in the last preceding valid row
- Per column data format
- Programming language neutral date format specification
- Output column ordering
Create a v2 psr config to keep backwards compatibility
Design Features of the new config format should include:
Specific use case features should include: