1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/csv.md
2022-01-25 17:07:47 -08:00

2.1 KiB

Home

jc.parsers.csv

jc - JSON CLI output utility csv file parser

The csv parser will attempt to automatically detect the delimiter character. If the delimiter cannot be detected it will default to comma. The first row of the file must be a header row.

Usage (cli):

$ cat file.csv | jc --csv

Usage (module):

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

or

import jc.parsers.csv result = jc.parsers.csv.parse(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 "Sell", "List", "Living", "Rooms", "Beds", "Baths", "Age", "Acres"... 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 -p [ {

  • "Sell" - "142",
  • "List" - "160",
  • "Living" - "28",
  • "Rooms" - "10",
  • "Beds" - "5",
  • "Baths" - "3",
  • "Age" - "60",
  • "Acres" - "0.28",
  • "Taxes" - "3167" }, {
  • "Sell" - "175",
  • "List" - "180",
  • "Living" - "18",
  • "Rooms" - "8",
  • "Beds" - "4",
  • "Baths" - "1",
  • "Age" - "12",
  • "Acres" - "0.43",
  • "Taxes" - "4033" }, {
  • "Sell" - "129",
  • "List" - "132",
  • "Living" - "13",
  • "Rooms" - "6",
  • "Beds" - "3",
  • "Baths" - "1",
  • "Age" - "41",
  • "Acres" - "0.33",
  • "Taxes" - "1471" }, ... ]

info Objects

class info()

Provides parser metadata (version, author, etc.)

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Arguments:

  • 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

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