LoginSignup
0
0

More than 3 years have passed since last update.

csv 形式の数値データを配列へ変換(jq コマンド)

Last updated at Posted at 2018-07-27

こんにちは。
jq コマンドを使って、csv 形式の数値データを配列へ変換しました。

配列形の入力として処理する方法

入力の各行を Json 配列形[]へ格納した後、jq コマンドへ渡します。

$ echo -en "1,0\n2,0\n3,0\n" | perl -pe 's/.*/[$&]/' | jq -sc .
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | awk '{printf "[%s]\n", $0}' | jq -sc .
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | while read line; do echo "[$line]"; done | jq -sc .
[[1,0],[2,0],[3,0]]

文字列の入力として処理する方法

文字列の入力として処理する方法です。データ末尾の \n の削除も必要です。

$ echo -en "1,0\n2,0\n3,0\n" | jq -sRc '[split("\n")[]|split(",")|map(tonumber)][:-1]'
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | jq -sRc '[split("\n")[]|select(. != "")|split(",")|map(tonumber)]'
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | ghead -c -1 | jq -sRc '[split("\n")[]|split(",")|map(tonumber)]'
[[1,0],[2,0],[3,0]]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0