Skip to content
/ hone Public
forked from chamkank/hone

Convert CSV to automatically nested JSON.

License

Notifications You must be signed in to change notification settings

rossw7/hone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔪 hone

PyPI version PyPI license

Convert CSV to automatically nested JSON.

Table of Contents

Getting Started

Available as both a Python module and a command line tool.

Installation

pip install hone

Usage: Command Line

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"

Usage: Python Module

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

Delimiters

The delimiters that are used to generate the nested structure are commas, underscores, and spaces.

Examples

You can view all examples of conversions in the examples directory.

CSV

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

Generated JSON

[
  {
    "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"
  }
]

License

Hone is licensed under the MIT license.

About

Convert CSV to automatically nested JSON.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%