PQ is a jq-like viewer/processing tool for pickle files.
# pq '' file.pkl
{'other': 456, 'test': 123}
# pq '' file.pkl -f table
|other|test|
| 456 |123 |
# pq 'keys' file.pkl
['test', 'other']
# pq '.["test"]' file.pkl
123
# pq 'eval({"value": i["other"] + i["test"]})' file.pkl -f table
|value|
|=====|
| 579 || Filter | Usage | Description |
|---|---|---|
| flat | .[] |
Extract elements from list to apply filters on each |
| keys | keys |
Extract keys from dictionary or list(range(len(list))) on a list |
| accessor | .ATTRIBUTE or .[INDEX] |
Read attribute from object or index on a list/dictionary |
| sort | sort(FILTEREXPR) |
Order elements by result of filter expression (accessor, eval) |
| eval | eval(EVALEXPR) |
Apply EVALEXPR on items of list. EVALEXPR is a python expression with i as parameter (example: i["separation"], {"firstname": i["name"].split()[0], "lastname": i["name"].split()[1]}) |
| Type | Description |
|---|---|
| pretty | DEFAULT, pretty prints python structure (pprint module) |
| table | prints list of dictionaries as a table (only common keys) |