Skip to main content

Converts EAM CSV export to JSON

Project description

EAM CSV to JSON
=================

Example script for converting data from EAM, i.e. splunk, CSV files to json.
This provides a useful example of how to export and use data.

usage: eamcsv2json [-h] -i INPUT [-o OUTPUT] [-e ERRORS] [-l LOG] [-c CONFIG]
[-t TYPE_COLUMN]

EAM (Splunk) CSV to JSON conversion script meant to handle larger files with
potential errors. New lines and quotes are handled gracefully when data
fields are quoted in double quotes (") and escaped with backslash (\).
This is outside RFC-4180 specification

optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
CSV file name to be read
-o OUTPUT, --output OUTPUT
(optional) Output file name; else stdout
-e ERRORS, --errors ERRORS
(optional) Error file name; when provided CSV 3 lines
of context will be printed. Default is content to log
file only
-l LOG, --log LOG (optional) Log file name; when provided log message
will go to file. Default is stderr
-c CONFIG, --config CONFIG
(optional) Configuration for type mappings; else first
row is considered for labels. When provided type
column setting is used
-t TYPE_COLUMN, --type-column TYPE_COLUMN
(optional) When config set use this column to expect
type mapping. Default 4

Install
-------

pip install eamcsv2json


Library
-------
Available for usage as library

from eamcsv2json.eamcsv2dict import EamCsv2Dict

type_mappings = {
'TypeA': ['field1', 'field2'],
'TypeB': ['fieldA', 'fieldB'],
}
converter = EamCsv2Dict('input.csv', 'error.csv', type_mappings, 2)
for a_dict in converter.covert():
print(a_dict)


Examples
-------

Convert data with first row as columns

eamcsv2json --input ./data/20180629_test2.csv -e ./errors.txt


Convert data with a type mapping and CSV error lines going to a file

eamcsv2json \
--input ./data/main10M.csv \
--errors ./data/main10M-errors.txt \
--config ./data/transforms.conf \
--output ./data/main10M.json


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 Distributions

If you're not sure about the file name format, learn more about wheel file names.

eamcsv2json-1.0.5-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

eamcsv2json-1.0.5-py2-none-any.whl (6.7 kB view details)

Uploaded Python 2

File details

Details for the file eamcsv2json-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for eamcsv2json-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 21e6a5332ef2061a6577f5127510bdb9f888377c3c245e4dfb0709c70d4c1354
MD5 4a5e911ce244c2f0e72abf78848e1f4d
BLAKE2b-256 e5d8c6017cbda4185687b479e9a82610b1841210e99a313a66ba91d1374502ce

See more details on using hashes here.

File details

Details for the file eamcsv2json-1.0.5-py2-none-any.whl.

File metadata

File hashes

Hashes for eamcsv2json-1.0.5-py2-none-any.whl
Algorithm Hash digest
SHA256 2d2c1c245cb8e1032e71b05594ac5eb7dcfd1d0a20114cd7325cc70dcbc67e02
MD5 bfe920051b31f81ef94d5c2a6d52e6e2
BLAKE2b-256 ec921c3812cb08ea5931db10ab9f6e8a09f406b9f958a33baa1054a8a780e0dc

See more details on using hashes here.

Supported by

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