Convert CSV to automatically nested JSON.
Available as both a Python module and a command line tool.
pip install hone
To convert a CSV file located at path/to/input.csv
to JSON (written to new file at path/to/output.json
):
hone "path/to/input.csv" "path/to/output.json"
import hone
Hone = hone.Hone()
schema = Hone.get_schema('path/to/input.csv') # returns nested JSON schema for input.csv
result = Hone.convert('path/to/input.csv') # returns converted JSON as Python dictionary
The delimiters that are used to generate the nested structure are commas, underscores, and spaces.
You can view all examples of conversions in the examples directory.
name | birth day | birth month | birth year | reference | reference name |
---|---|---|---|---|---|
Bob | 7 | May | 1985 | TRUE | Smith |
Julia | 21 | January | 1997 | FALSE | N/A |
Rick | 12 | June | 1996 | TRUE | Clara |
[
{
"birth": {
"day": "7",
"month": "May",
"year": "1985"
},
"name": "Bob",
"reference": "TRUE",
"reference name": "Smith"
},
{
"birth": {
"day": "21",
"month": "January",
"year": "1997"
},
"name": "Julia",
"reference": "FALSE",
"reference name": "N/A"
},
{
"birth": {
"day": "12",
"month": "June",
"year": "1996"
},
"name": "Rick",
"reference": "TRUE",
"reference name": "Clara"
}
]
Hone is licensed under the MIT license.