2020-07-30 16:20:24 -07:00
2020-03-02 14:03:58 -08:00
# jc.parsers.csv
2020-08-05 16:51:58 -07:00
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.
2020-03-02 14:03:58 -08:00
2020-08-05 13:32:59 -07:00
Usage (cli):
2020-03-02 14:03:58 -08:00
2020-08-05 16:51:58 -07:00
$ cat file.csv | jc --csv
2020-03-02 14:03:58 -08:00
2020-08-05 13:32:59 -07:00
Usage (module):
import jc.parsers.csv
result = jc.parsers.csv.parse(csv_output)
2020-03-02 14:03:58 -08:00
Compatibility:
'linux', 'darwin', 'cygwin', 'win32', 'aix', 'freebsd'
Examples:
$ cat homes.csv
"Sell", "List", "Living", "Rooms", "Beds", "Baths", "Age", "Acres", "Taxes"
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"
},
...
]
2020-07-30 16:20:24 -07:00
2020-03-02 14:03:58 -08:00
## info
```python
2020-07-30 16:20:24 -07:00
info()
2020-03-02 14:03:58 -08:00
```
2020-07-30 16:20:24 -07:00
2020-03-02 14:03:58 -08:00
## process
```python
process(proc_data)
```
Final processing to conform to the schema.
Parameters:
proc_data: (dictionary) raw structured data to process
Returns:
List of dictionaries. Each dictionary represents a row in the csv file:
[
{
csv file converted to a Dictionary
https://docs.python.org/3/library/csv.html
}
]
2020-07-30 16:20:24 -07:00
2020-03-02 14:03:58 -08:00
## parse
```python
parse(data, raw=False, quiet=False)
```
Main text parsing function
Parameters:
data: (string) text data to parse
raw: (boolean) output preprocessed JSON if True
quiet: (boolean) suppress warning messages if True
Returns:
List of dictionaries. Raw or processed structured data.