Skip to main content

Converts nested json object to csv and csv back to json

Project description

libjson2csv
========

*Converts nested json object to csv and csv back to json*

This package provides functionality to convert valid nested json objects/files to csv and vice versa.

Written in python 3

Usage
-----

To convert json to csv
```
usage: json_2_csv.py [--minimize-columns] <json_in_file_path> <csv_out_file_path>
```

To convert csv to json
```
usage: csv_2_json.py <csv_in_file_path> <json_out_file_path>
```

Specifications
--------------

Scripts expects a valid json.

* JSON can be a valid nested object or a list.
* Script will convert each item of the list to a corresponding row in the csv.
* If JSON is dictionary the outputted csv will contain single row.

Example:

*Converts JSON*

```json
{
"key_1_1": "val_1_1_1",
"key_1_2": [
"val_1_2_1",
"val_1_2_2",
"val_1_2_3"
],
"key_1_3": [{
"key_1_3_2_1": "val_1_3_2_1_1"
}, {
"key_1_3_2_1": "val_1_3_2_1_2"
}, {
"key_1_3_2_1": "val_1_3_2_1_3"
}],
"key_1_4": {
"key_1_4_2_1": "val_1_4_2_1_1"
},
"key_1_5": {
"key_1_5_2_1": [{
"key_1_5_2_3_1": "val_1_5_2_3_1_1"
}]
}
}
```

*TO*

Without `--minimize-columns` flag

|key_1_1 | key_1_2[0] | key_1_2[1] | key_1_2[2] | key_1_3[0].key_1_3_2_1 | key_1_3[1].key_1_3_2_1 | key_1_3[2].key_1_3_2_1 | key_1_4.key_1_4_2_1 | key_1_5.key_1_5_2_1[0].key_1_5_2_3_1|
|----|----|----|----|----|----|----|----|----|
|val_1_1_1 | val_1_2_1 | val_1_2_2 | val_1_2_3 | val_1_3_2_1_1 | val_1_3_2_1_2 | val_1_3_2_1_3 | val_1_4_2_1_1 | val_1_5_2_3_1_1|

With `--minimize-columns` flag

|*key_1_2|key_1_1|key_1_3[0].key_1_3_2_1|key_1_3[1].key_1_3_2_1|key_1_3[2].key_1_3_2_1|key_1_4.key_1_4_2_1|key_1_5.key_1_5_2_1[0].key_1_5_2_3_1|
|----|----|----|----|----|----|----|
|val_1_2_1;val_1_2_2;val_1_2_3|val_1_1_1|val_1_3_2_1_1|val_1_3_2_1_2|val_1_3_2_1_3|val_1_4_2_1_1|val_1_5_2_3_1_1|

`--minimize-columns` stores a simple list in a single column with items separated by a semicolon.

0.1.0 (2017-04-15)
------------------
- Initial version.

Project details


Download files

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

Source Distribution

libjson2csv-0.0.4.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

libjson2csv-0.0.4-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file libjson2csv-0.0.4.tar.gz.

File metadata

  • Download URL: libjson2csv-0.0.4.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for libjson2csv-0.0.4.tar.gz
Algorithm Hash digest
SHA256 11e0e8e9b60e868420e1e94e6d5475a29e5ebade6daac65d3fe87c5927d511ef
MD5 4260bb36b2fe850e232baa31cfb5b75a
BLAKE2b-256 0de5120c9eb65aa9d176dd3dc1ddc69fe7b67320a2fe378d4600ac933673855d

See more details on using hashes here.

File details

Details for the file libjson2csv-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for libjson2csv-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 94811841a48cc3f3513f3238ce2591ab9436f28a7e6649e278145490dd1a7a6f
MD5 19d35c2159f5deb8e5c07810611d19b0
BLAKE2b-256 f60d87adf976fe8cde65e0be2edf4c573e6ab2f1895f779900518bf79942a611

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