コマンドラインでCSVをJSONに変換する

小さいデータベース的なファイルをJSONに変換したい

実行の方針を検討してみる。

CSVからSQLite を作り、Python などを使ってJSONファイルを出力すればいいかな

↓ もう少しシンプルに。

CSVからSQLite を作り、SQLite からJSONを出力すればいいかな

↓ もう少しシンプルに。

CSV から JSONファイルを出力すればいいかな

かなり簡単そうなので、これを採用します。

コマンドラインでCSVをJSONに変換する

csvtojson というNodeパッケージを使えば一発でした。

まず、以下のようなCSVファイルを用意してみました。
prefectures.csv というファイル名で作成しました。
ちなみに一行目はJSONのテーブル定義となるのでそちらも含みます。

名称,読み方
北海道,ほっかいどう
青森,あおもり

で、以下のコマンドを打つと、JSONに変換されます。
csvtojson パッケージはインストールするまでもなくアドホックで使えればいいかなと思うのでnpx コマンドです。

$ npx csvtojson prefectures.csv > prefectures.json

中身を見るとほぼ狙い通りのJSONになっています。
改行がなんだか不自然ですが、気にしません。

$ cat prefectures.json 
[
{"名称":"北海道","読み方":"ほっかいどう"}
,
{"名称":"青森","読み方":"あおもり"}

]

ちなみに、値などにカンマを使いたい場合、その値をダブルクォーテーションで囲むと、
カンマも含めて値として扱われます。
csvはこんな感じ。

名称,読み方
北海道,"ほっかいどう,aaa"
青森,あおもり

最後に

以上です。お疲れ様でした!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。