[Home](https://kellyjonbrazil.github.io/jc/)

# jc.parsers.tsv_ih_s

jc - JSON Convert `TSV` implicit header file streaming parser

> This streaming parser outputs JSON Lines (cli) or returns an Iterable of
> Dictionaries (module)

The `tsv` implicit header file streaming parser is a clone of the `csv`
implicit header file streaming parser that uses '\t' as the delimiter
character. The file must have no header, and the field names will be
generated as "c0", "c1", etc.

> Note: The first 100 rows are read into memory for file analysis, then the
> rest of the rows are loaded lazily.

Usage (cli):

    $ cat file.tsv | jc --tsv-ih-s

Usage (module):

    import jc
    result = jc.parse('tsv_ih_s', tsv_output)

Schema:

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

    {
      "c0":     string,
      "c1":     string,

      # below object only exists if using -qq or ignore_exceptions=True
      "_jc_meta": {
        "success":        boolean,     # false if error parsing
        "error":          string,      # exists if "success" is false
        "line":           string       # exists if "success" is false
      }
    }

Examples:

    $ cat homes.tsv
    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.tsv | jc --tsv-ih-s -p
    {"c0":"142","c1":"160","c2":"28","c3":"10","c4":"5"...}
    {"c0":"175","c1":"180","c2":"18","c3":"8","c4":"4"...}
    {"c0":"129","c1":"132","c2":"13","c3":"6","c4":"3"...}
    ...


### parse

```python
def parse(data: Union[str, bytes],
          raw: bool = False,
          quiet: bool = False,
          ignore_exceptions: 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/tsv_ih_s.py`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/tsv_ih_s.py)

Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)
