Skip to main content

A Python library to convert COBOL ebcdic file to CSV format based on copybook

Project description

pycobol2csv

pycobol2csv is a Python library to convert COBOL ebcdic file to CSV format. The package is built to cater for advanced features in COBOL copybooks such as OCCURES x TIMES, BINARY, COMP.

The CSV file is RDBMS friendly and all headers are ready to be used as database column names. CSV conversion is controlled by config file in csv_config.json

Added more enhancements for the outdated REDEFINE and PIC syntax for a new client

Install the python module:

pip install pycobol2csv

To use the module:

from pycobol2csv import convert_cobol_file, decode_copybook_file

row_length, cobol_struc = decode_copybook_file(copybook_file)

convert_cobol_file(copybook_file, data_file, output_file, config_file, codepage, debug=False)

  • copybook_file: copybook filename
  • data_file: data filename
  • output_file: output csv filename
  • config_file: csv configuration filename, refer to csv_config.json
  • codepage: codepage for edibic, refer to https://docs.python.org/3.7/library/codecs.html#standard-encodings for details
  • debug: enable for more debug information, default is OFF

test

2 sets of test data have been created from scratch. Each set includes a copybook and an EBCDIC data file.

To test:

python convert_cobol_test_main.py --copybook [COPYBOOK_FILE] --data [DATA_FILE] --output [CSV_FILE]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pycobol2csv-1.0.5-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page