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
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
Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)