[Home](https://kellyjonbrazil.github.io/jc/)
# 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
```python
class info()
```
Provides parser metadata (version, author, etc.)
#### parse
```python
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)