映画データベースからJSONデータ取得し、指定フィールドの文字を置換
CSVデータに変換した時に扱いやすいように、指定フィールドの","を";"に置換します。 Read more about 映画データベースからJSONデータ取得し、指定フィールドの文字を置換
CSVデータに変換した時に扱いやすいように、指定フィールドの","を";"に置換します。 Read more about 映画データベースからJSONデータ取得し、指定フィールドの文字を置換
10数万件ある郵便番号CSVデータを定期的に取得して、Drupalにインポートするための設定。
月末にデータ更新されているので、毎月5日にCSVを取得するようにOSのcronを設定し、月次のDrupal cronで1時間おきに500件ずつインポートして約10日で完了。
コンテンツタイプは作成済みの前提で、以下に設定を記述する。
ヘッダーなしのCSVファイル
$ cat pricelist.csv 1,ココナッツ,200 2,いちご,300 3,ぶどう,500
sedコマンドを使用し、CSVテキストファイルの先頭行にヘッダーを追加して上書きします。
$ sed -i '1iid,name,price' pricelist.csv $ cat pricelist.csv id,name,price 1,ココナッツ,200 2,いちご,300 3,ぶどう,500
catコマンドの場合。別ファイルの挿入などに便利です。 Read more about コマンドラインで先頭行にCSVヘッダーを追加するテクニック
$ curl -s http://doramahjong.com/tournament/ | hxnormalize -x | hxselect -s '\n' -c "table.catagoryTable" "dl" | lynx -stdin --dump | sed -e 's/^\s\+//' | awk 'BEGIN { FS="\n"; RS="" } { print $1 "," $2 "," $3 }'
風花雪月杯,2016年11月22日 18:00:00,107 Read more about コマンドラインでHTMLをCSV変換する方法
データ件数が数万件を超えるなど大量データを扱う場合、phpを経由するViewsやdrushコマンドは負荷が高く出力が困難なので、APIやSQLコマンドを使用します。
ノード情報をCSV出力するためのSQL文 - 都道府県コンテンツタイプの例 Read more about SQLを使用してDrupalのデータをMySQLからCSV出力する方法
$ cat >id.txt <<EOF 001 002 007 EOF
$ cat >name.txt <<EOF okinawa tokyo james EOF
$ cat >color.txt <<EOF blue red gold EOF
$ paste -d"," id.txt name.txt color.txt | tee list.txt
001,okinawa,blue
002,tokyo,red
007,james,gold Read more about pasteコマンドを使用して、複数ファイルを列方向に結合してCSVデータを作成する方法
curlを使用してDrupalサイトにログイン、Web APIからJSONデータを取得し、jqコマンドで取得フィールドにラベルをつけてJSON形式で出力。 Read more about フィールドを指定してAPIから取得した都道府県JSONデータを、jqコマンドでラベルをつけてJSONデータとして再出力する方法
$ awk -F, '!length($2)' file
Read more about CSVから2列目が空ではない行を抽出するコマンドライン