'gulp-csv2json'を使ってCSVをJSONに変換する方法
'gulp-csv2json'の使い方を覚え書き。
インストール方法はこちらから
https://www.npmjs.com/package/gulp-csv2json
解説
やりたいこと
CSVをJSONにgulp4を使って変換させたい。。
(今回そのCSVはダブルクオートやクオートで囲われていない)
環境
- 環境
- OS: Windows7
- nodeJS: 8.11.2
- npm: 6.1.0
- モジュール
- gulp: 4.0.0
- gulp-csv2json: 0.2.5
- gulp-rename: 1.2.3
はしょっていますが、階層構造はこんなかんじです。
sample
├─ src/
│ ├─ data/
│ │ └─ csv/
│ │ └─ *.csv
│ │
│ └─ ...
│
├─ temp/
├─ dist/
│
├─ .node_modules/
├─ .babelrc
├─ gulp.babel.js
├─ package-lock.json
└─ package.json
方法
import gulp from 'gulp';
import babel from 'gulp-babel';
import csv2json from 'gulp-csv2json';
import rename from 'gulp-rename';
// csvをjsonへ変換
const makejson = () => {
// csvの値がダブルクオートで囲まれていないのでfalse
var csvParseOptions = {
quote: false
};
return gulp.src('src/data/csv/*.csv')
.pipe(csv2json(csvParseOptions))
.pipe(rename({extname: '.json'}))
.pipe(gulp.dest('src/data/json/'));
};
exports.makejson = makejson;
これでsrc/data/
内にjsonディレクトリが生成されてjsonファイルが出力されます。
ポイントとしては引用符で囲われていないCSVはオプションでquote: false
にしてあげることです。
逆に、ダブルクオートで囲われている場合はオプションは必要ないです。
その他特別な文字で値が囲われている場合はbooleanではなく文字列として指定してあげればいいはずです。
パーサーオプションの一覧はこちら
http://csv.adaltas.com/parse/
ちなみに、import
したモジュール名とconst
で宣言したタスク名は重複できないのでご注意ください。
Author And Source
この問題について('gulp-csv2json'を使ってCSVをJSONに変換する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/erii/items/f5ba44901cea5e077d3b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .