Convert CSV to automatically nested JSON.
Switch branches/tags
Nothing to show
Clone or download
Latest commit d69dec0 May 3, 2018
Permalink
Failed to load latest commit information.
examples push fix for info duplication May 3, 2018
hone update test for v0.1.4 May 3, 2018
LICENSE Initial commit Feb 23, 2018
README.md push fix for info duplication May 3, 2018
setup.py push fix for info duplication May 3, 2018

README.md

🔪 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.