Skip to the content.

Home

jc.parsers.csv_ih

jc - JSON Convert csv implicit header file parser

The csv implicit header parser will attempt to automatically detect the delimiter character. If the delimiter cannot be detected it will default to comma. The file must have no header, and the field names will be generated as "c0", "c1", etc.

Usage (cli):

$ cat file.csv | jc --csv-ih

Usage (module):

import jc
result = jc.parse('csv_ih', csv_output)

Schema:

CSV file converted to a Dictionary: https://docs.python.org/3/library/csv.html

[
  {
    "column_name1":     string,
    "column_name2":     string
  }
]

Examples:

$ cat homes.csv
142, 160, 28, 10, 5, 3,  60, 0.28,  3167
175, 180, 18,  8, 4, 1,  12, 0.43,  4033
129, 132, 13,  6, 3, 1,  41, 0.33,  1471
...

$ cat homes.csv | jc --csv-ih -p
[
  {
    "c0": "142",
    "c1": "160",
    "c2": "28",
    "c3": "10",
    "c4": "5",
    "c5": "3",
    "c6": "60",
    "c7": "0.28",
    "c8": "3167"
  },
  {
    "c0": "175",
    "c1": "180",
    "c2": "18",
    "c3": "8",
    "c4": "4",
    "c5": "1",
    "c6": "12",
    "c7": "0.43",
    "c8": "4033"
  },
  {
    "c0": "129",
    "c1": "132",
    "c2": "13",
    "c3": "6",
    "c4": "3",
    "c5": "1",
    "c6": "41",
    "c7": "0.33",
    "c8": "1471"
  },
  ...
]

parse

def parse(data: Union[str, bytes],
          raw: bool = False,
          quiet: bool = False) -> List[Dict[str, Any]]

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output if True
quiet:       (boolean) suppress warning messages if True

Returns:

List of Dictionaries. Raw or processed structured data.

Parser Information

Compatibility: linux, darwin, cygwin, win32, aix, freebsd

Source: jc/parsers/csv_ih.py

Version 1.0 by Gary Gurlaskie (https://github.com/garyg1)