Package to Flatten JSON data to relational Dataframe
Project description
Json-flattening
Flatten Json to Relational Dataframe
Instructions
- Install
pip install json-flattening
- Parameters
json_data: Input data to be flattend, should be dict or list of dict
list_split_to_many: If the final node list data should be splitted to one to many relation(i.e to multiple rows)
ignore_parent_key: Parent Keys to be ignored should be string or list
- Flatten json
from json_flattening import json_flatten
data = [{
"firstName": "Rack",
"lastName": "Jackon",
"gender": "man",
"age": 24,
"address": {
"streetAddress": "126",
"city": "San Jone",
"state": "CA",
"postalCode": "394221"
},
"phoneNumbers": [
{ "type": "home", "number": "7383627627" }
]
},
{
"firstName": "rock",
"lastName": "Jackon",
"gender": "man",
"age": 24,
"address": {
"streetAddress": "126",
"city": "San Jone",
"postalCode": "394221"
},
"phoneNumbers": [
{ "type": "home", "number": "7383627627" }
]
}]
flatten_data = json_flatten(data)
firstName | lastName | gender | age | address_state | address_streetAddress | address_postalCode | address_city | phoneNumbers_type | phoneNumbers_number |
---|---|---|---|---|---|---|---|---|---|
Rack | Jackon | man | 24 | CA | 126 | 394221 | San Jone | home | 7383627627 |
rock | Jackon | man | 24 | NaN | 126 | 394221 | San Jone | home | 7383627627 |
- With ignore parent Key
flatten_data = json_flatten(data,ignore_parent_key=['phoneNumbers','age'])
firstName | lastName | gender | address_state | address_streetAddress | address_postalCode | address_city |
---|---|---|---|---|---|---|
Rack | Jackon | man | CA | 126 | 394221 | San Jone |
rock | Jackon | man | NaN | 126 | 394221 | San Jone |
Change Log
1.0.0 (12/4/2022)
- First Release
1.0.1 (12/4/2022)
- Bug fix for complex nested json
- Bug fix if key have a null value
1.0.2 (12/4/2022)
- Updated doc string details
1.0.3 (20/6/2022)
- Bug fix if the parent and child node have same key name
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
json_flattening-1.0.3.tar.gz
(4.3 kB
view hashes)
Built Distribution
Close
Hashes for json_flattening-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e9c101d619e96d27c6004e557e53027d1a3e7557aac1e39d5a691d098bae9fd |
|
MD5 | 42bd7b9e31f366d8adcfb0104d8cce31 |
|
BLAKE2b-256 | 97961f72612170a6f18c0596830eb7cbb05ca5da66738cafaa836cb63fa724c5 |