npx twinkle-parser data_from_kdb.csv# Install with NPM
npm install -g twinkle-parser
# Install with yarn
yarn add --global twinkle-parser
# Then
twinkle-parser data_from_kdb.csv# * Inside repo directory
# Install dependencies
yarn
# Parse
yarn run parse data_from_kdb.csv# Install with NPM
npm install twinkle-parser
# Install with yarn
yarn add twinkle-parserconst parse = require('twinkle-parser')
const data = parse('CSV string here') // -> KDBData| 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 info |
TypeScript supported! 🎉
// 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.

{ "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 } }