Skip to content

Redesign config file #75

Description

@marlanperumal

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions