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

123 lines
2.1 KiB
Markdown
Raw Normal View History

[Home](https://kellyjonbrazil.github.io/jc/)
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.csv"></a>
2020-07-30 16:20:24 -07:00
2020-03-02 14:03:58 -08:00
# jc.parsers.csv
2022-01-25 17:07:47 -08:00
2020-08-05 16:51:58 -07:00
jc - JSON CLI output utility `csv` file parser
2022-01-19 17:30:14 -08:00
The `csv` parser will attempt to automatically detect the delimiter
2022-01-19 19:19:25 -08:00
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
2022-01-25 17:07:47 -08:00
$ cat file.csv | jc --csv
2020-03-02 14:03:58 -08:00
2020-08-05 13:32:59 -07:00
Usage (module):
2022-01-25 17:07:47 -08:00
import jc
result = jc.parse('csv', csv_output)
2022-01-18 14:18:12 -08:00
2022-01-25 17:07:47 -08:00
or
2022-01-18 14:18:12 -08:00
2022-01-25 17:07:47 -08:00
import jc.parsers.csv
result = jc.parsers.csv.parse(csv_output)
2020-08-05 13:32:59 -07:00
2021-04-08 12:42:01 -07:00
Schema:
2022-01-25 17:07:47 -08:00
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"
},
...
]
<a id="jc.parsers.csv.info"></a>
## info Objects
2020-03-02 14:03:58 -08:00
```python
2022-01-25 17:07:47 -08:00
class info()
2020-03-02 14:03:58 -08:00
```
2022-01-25 17:07:47 -08:00
2021-04-08 12:42:01 -07:00
Provides parser metadata (version, author, etc.)
2020-07-30 16:20:24 -07:00
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.csv.parse"></a>
#### parse
2020-03-02 14:03:58 -08:00
```python
2022-01-25 17:07:47 -08:00
def parse(data, raw=False, quiet=False)
2020-03-02 14:03:58 -08:00
```
Main text parsing function
2022-01-25 17:07:47 -08:00
**Arguments**:
2020-03-02 14:03:58 -08:00
2022-01-25 17:07:47 -08:00
- `data` - (string) text data to parse
- `raw` - (boolean) unprocessed output if True
- `quiet` - (boolean) suppress warning messages if True
2020-03-02 14:03:58 -08:00
2022-01-25 17:07:47 -08:00
**Returns**:
2020-03-02 14:03:58 -08:00
2022-01-25 17:07:47 -08:00
List of Dictionaries. Raw or processed structured data.
2020-03-02 14:03:58 -08:00
## Parser Information
Compatibility: linux, darwin, cygwin, win32, aix, freebsd
2022-01-03 09:19:40 -08:00
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)