【Java script問題集】1-2 jQueryライブラリを読み込もう
1-2.html
実行結果
【Java script問題集】1-1 ブラウザにアラートを表示してみよう
実行結果
良い記事を書く為には
タイトル
続きを読む今週学んだ事(コマンド等)
joinコマンド
join ファイル名1 ファイル名2
両方にある行番号1と3のみの結果を表示
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533621524
jotコマンド
連番・ランダムデータを生成コマンド
jot 回数 開始 終了
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533544538
リダイレクション
標準の入出力先を別の入出力先に変更すること
cmd 1> file
cutコマンド
1、3文字目を切り出す。
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060
grepコマンド
特定の文字列を含む行のみを表示する
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060
trコマンド
小文字から大文字へ変換(逆もできる)
awkコマンド
空白などで区切られたテキストを処理するコマンド
awk '{ print $フィールド番号 }'
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060
sed コマンド
文字列を全置換したり、行単位で抽出したり、削除したり、いろいろなテキスト処理のできるコマンド。
sed -e 's/パターン1/パターン2/'
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613532938909
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533000593
curlコマンド
HTTPアクセスをしてコンテンツを取得できるコマンド
curl URL
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613534159164
jqコマンド
JSON用コマンドでデータのフィルタや置き換え、整形ができる
詳細
https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613534159164
今週学んだ事(APIからCSV)
curl [URL]なので例として➀を実行
➀curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060"
jqコマンド
JSON用コマンドでデータのフィルタや置き換え、整形ができる
resultsのみを取得してみる
jq .resultsで指定
先程のcurlコマンドとjqコマンドをパイプで繋げて➁を実行
➁curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results
さらにその結果jqコマンドでcsv形式にする
jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv'
jq -r '. | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv'
先程の➁とつなげると➂になり、実行
➂curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results | jq -r '. | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv'
➂を実行すると、csv形式になりました。
最後、その結果をファイルにリダイレクション➃を実行
➃curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results | jq -r '.[] | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv' >>test1.csv
➄cat コマンドで確認
jq コマンドで JSON を CSV に変換
jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv'
テストデータの確認
jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv' 実行
|@csv を有効に使うための条件
・JSON(配列)の並びにする
・JSON(配列)の並びの、各配列の要素は配列とオブジェクト以外にする
テストデータ
'.'
で入力されたJSONを整形して出力
JSONの最上位が配列の場合、 .[] で配列の要素のみを取り出すことが出来る
id の値を取り出し
複数の値の取り出し
共通部分のくくりだし
.id と .create_at を [ と ] で囲む事により、 .id を0番目、 .create_at を1番目の要素に持つ配列にする
配列から特定の値を取り出す
1列目: id
2列目:ミドルネーム
3列目:作成日
となる CSVを出力
参考
https://medium.com/veltra-engineering/jq-supports-json-to-csv-fb5c951a9575
curlコマンド、jqコマンド
curlコマンド
HTTPアクセスをしてコンテンツを取得できるコマンド
下記の書式でコマンドが実行
curl [options] [URL]
オプション「-i」 HTTP ヘッダを出力に含めます。
オプション「-I」 HTTP ヘッダのみを取得します。
POSTでリクエストを行う場合には-X POST
jqコマンド
JSON用コマンドでデータのフィルタや置き換え、整形ができる
echoでjsonを出力後jqコマンドを実行
特定のkerを絞る
jqコマンドの後にresultを指定
valueを取得
参考