https://github.com/totaltechgeek/deejay-file-query
A tool to query data from files using the Deejay language built on RxJS
https://github.com/totaltechgeek/deejay-file-query
Last synced: 5 months ago
JSON representation
A tool to query data from files using the Deejay language built on RxJS
- Host: GitHub
- URL: https://github.com/totaltechgeek/deejay-file-query
- Owner: TotalTechGeek
- License: mit
- Created: 2021-11-03T19:44:28.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-26T15:52:40.000Z (over 1 year ago)
- Last Synced: 2024-12-06T01:34:19.895Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 149 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Deejay File Query Tool
```txt
deejay --help
```
Produces
```txt
Usage: deejay [options]
A program written to allow you to use the deejay DSL on files to query out data.
Options:
-V, --version output the version number
-f, --format The format of the file (choices: "json", "csv", "bigjson", "avro")
-i, --input The file to be processed (default: "$")
-c, --command The command to run (default: "")
-o, --output Output file
-x, --export The output format (choices: "console", "json", "csv", "avro", default: "console")
-a, --additional Additional information for the file parser
-h, --help display help for command
```
---
## Query Language
Additional documentation coming soon. Uses the query language from `deejay-rxjs-dsl`.
### Examples
```txt
deejay -i file.csv -c "average @.age"
```
Produces:
```txt
32.5
```
Complicated Query (getting counts of people who share a first name):
```txt
deejay -i file.json -c "mergeMap @.people; reduce groupBy($.accumulator, $.current, split($.name, ' ').0, $.accumulator+1, 0), {}; mergeMap toPairs(@); filter @.1 > 1; map ({ name: @.0, count: @.1 })" -x csv
```
```csv
name,count
Mike,3
Kevin,2
```