Parse CSV from https://kdb.tsukuba.ac.jp to structured JSON.
npm install twinkle-parser#### Quick use
``shell`
npx twinkle-parser data_from_kdb.csv
#### Global Install
`shellInstall with NPM
npm install -g twinkle-parser
#### Use inside repo
`shell
* Inside repo directory
Install dependencies
yarnParse
yarn run parse data_from_kdb.csv
`$3
`shell
Install with NPM
npm install twinkle-parserInstall with yarn
yarn add twinkle-parser
``js
const parse = require('twinkle-parser')
const data = parse('CSV string here') // -> KDBData
`$3
| Option | |
| --------------------------- | ----------------------------------------------------------------- |
|
-o PATH / --output PATH | Export result to a file at the PATH instead of to stdout. |
| -p / --pretty | Prettify json output. |
| --fields | Fields to be included (comma-separated, specifing all if not set) |
| -h / --help | Print help & usage. |
| -v / --version | Print version infoOutput Format
`jsonc
{
"COURSE_ID": { "title": "Twinkle",
// Class type (defined value by original data)
"type": 1,
// Course unit
"unit": 1,
// Course target grades
"targets": [1, 2],
// Terms & Modules
// 0 = Spring A, 1 = Spring B, ...
"termStr": "春AB",
"terms": [ 0, 1 ],
// Day & Period sets
"periodStr": "月1-3\n水4-6",
"periods": [
// [ Days( 0 = Sun. 1 = Mon. ... ), Periods ]
[ [ 1 ], [ 0, 1, 2 ] ],
[ [ 3 ], [ 4, 5, 6 ] ]
],
// Rooms
"rooms": [ "7A106", "7C202" ],
// Instructors
"instructors": [ "筑波 太郎" ],
// Overview & Remarks
"overview": "",
"remarks": ""
// Last update in unix time
"updatedAt": 1583390263000
}
}
`TypeScript Support
TypeScript supported! 🎉
`ts
// This will be imported with types
import parse from 'twinkle-parser'// And types for output data are also available
import { KDBData, KDBCourse } from 'twinkle-parser'
``Issue or PR submissions are welcome.