2016年10月18日
開発者だけが知っている PowerCMS の隠し機能 その2 〜インポート CSV を分割する import-csv-split 〜
前回の記事 では、アイテム指定の仕方を簡易にすることで、インポート CSV の作成を楽にする方法をご紹介しました。
しかし、大きな CSV を管理画面からインポートしようとすると、処理に時間がかかり、ブラウザがタイムアウトしてしまうことがあります。これを回避する方法はいくつかありますが、そのうちのひとつとして、今回はインポート CSV を分割する方法をご紹介します。
今回は、コマンドラインツールを実行します。
cd $MT_HOME
perl ./tools/import-csv-split --split=2000 --file=$HOME/sample.csv --outdir=/tmp
このように実行すると、ホームディレクトリ直下の sample.csv を読み込み、2000 行ごとに分割して、/tmp 以下に分割したファイルを出力します。インポートに必要な一行目の記述がすべての CSV に入りますので、そのまま管理画面からインポートすることができます。
※ --split
オプションを指定しない場合、5000 行で分割します。
※ --outdir
オプションを指定しない場合、import ディレクトリ(環境変数 ImportPath で指定されるディレクトリ)に出力します。
なお、このコマンドラインツールは、インポート用 CSV でなくても同様の形式で分割することが可能です。
コメントを投稿する