# 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]
```
<!-- Repo: https://github.com/jasonli-lijie/pycobol2csv -->
Raw data
{
"_id": null,
"home_page": "https://github.com/jasonli-lijie/pycobol2csv",
"name": "pycobol2csv",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "COBOL,EBCDIC,CSV",
"author": "Jason Li",
"author_email": "niomobileapp@gmail.com",
"download_url": "https://github.com/user/reponame/archive/v_01.tar.gz",
"platform": null,
"description": "# pycobol2csv\r\npycobol2csv 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*. \r\n\r\nThe CSV file is RDBMS friendly and all headers are ready to be used as database column names.\r\nCSV conversion is controlled by config file in *csv_config.json*\r\n\r\nAdded more enhancements for the outdated REDEFINE and PIC syntax for a new client\r\n\r\nInstall the python module:\r\n\r\n`pip install pycobol2csv`\r\n\r\nTo use the module:\r\n\r\n```\r\nfrom pycobol2csv import convert_cobol_file, decode_copybook_file\r\n\r\nrow_length, cobol_struc = decode_copybook_file(copybook_file)\r\n\r\nconvert_cobol_file(copybook_file, data_file, output_file, config_file, codepage, debug=False)\r\n\r\n```\r\n\r\n- copybook_file: copybook filename\r\n- data_file: data filename \r\n- output_file: output csv filename\r\n- config_file: csv configuration filename, refer to csv_config.json\r\n- codepage: codepage for edibic, refer to https://docs.python.org/3.7/library/codecs.html#standard-encodings for details\r\n- debug: enable for more debug information, default is OFF\r\n\r\n## test \r\n\r\n2 sets of test data have been created from scratch. Each set includes a copybook and an EBCDIC data file.\r\n\r\nTo test:\r\n\r\n```\r\npython convert_cobol_test_main.py --copybook [COPYBOOK_FILE] --data [DATA_FILE] --output [CSV_FILE]\r\n\r\n```\r\n\r\n<!-- Repo: https://github.com/jasonli-lijie/pycobol2csv -->\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python library to convert COBOL ebcdic file to CSV format based on copybook",
"version": "1.0.4",
"project_urls": {
"Bug Tracker": "https://github.com/jasonli-lijie/pycobol2csv/issues",
"Download": "https://github.com/user/reponame/archive/v_01.tar.gz",
"Homepage": "https://github.com/jasonli-lijie/pycobol2csv"
},
"split_keywords": [
"cobol",
"ebcdic",
"csv"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "00ffa06a573f8a3214a0000ed996b574c4b4b6b8f28ba91fcbe79cd3b40f1b7a",
"md5": "782ee6de6cd686ea58255fde4f22767b",
"sha256": "a815cd7e9357843060f45983076d9766a8950a18d6325a969a8c071549f9ef83"
},
"downloads": -1,
"filename": "pycobol2csv-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "782ee6de6cd686ea58255fde4f22767b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8799,
"upload_time": "2024-01-16T21:32:54",
"upload_time_iso_8601": "2024-01-16T21:32:54.011834Z",
"url": "https://files.pythonhosted.org/packages/00/ff/a06a573f8a3214a0000ed996b574c4b4b6b8f28ba91fcbe79cd3b40f1b7a/pycobol2csv-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-16 21:32:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jasonli-lijie",
"github_project": "pycobol2csv",
"github_not_found": true,
"lcname": "pycobol2csv"
}