サクラエディタのマクロでCSVからさくっとインサート文を作る
おはようございます。
今回は、サクラエディタで
CSVやタブ区切りのテキストデータを元にインサート文を一瞬で作成する方法を紹介します。
サクラエディタのダウンロードはこちらから。
サクラエディタ公式ページ
スポンサーリンク
CSVやタブ区切りからインサート分を作成する
CSVファイル(実際の個人情報ではありません)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | No,名前,名前フリガナ,性別,血液型,生年月日 1,宮内英博,ミヤウチヒデヒロ,男,A,1986/11/20 2,石山心一,イシヤマシンイチ,男,A,1983/10/07 3,奥山佳紀,オクヤマヨシキ,男,B,1976/08/16 4,庄司健児,ショウジケンジ,男,O,1970/11/12 5,野村彩,ノムラアヤ,女,A,1975/04/03 6,山田有香,ヤマダユカ,女,B,1993/08/10 7,笠井朗夫,カサイアキオ,男,O,1987/12/10 8,岸本豊次,キシモトトヨツグ,男,B,1982/12/26 9,野崎絵梨,ノザキエリ,女,B,1992/05/06 10,秋元雄一郎,アキモトユウイチロウ,男,B,1972/02/12 11,寺田孝市,テラダコウイチ,男,B,1973/03/03 12,小田絵梨,オダエリ,女,A,1973/05/30 13,柳沢厚哉,ヤナギサワアツヤ,男,O,1974/05/31 14,浜野陽子,ハマノヨウコ,女,O,1981/07/08 15,吉井斎,ヨシイヒトシ,男,O,1991/07/08 16,堀伸次郎,ホリシンジロウ,男,O,1970/05/04 17,宮崎喜男,ミヤザキヨシオ,男,B,1980/04/27 18,緒方一典,オガタカズノリ,男,A,1987/10/06 19,柴田奈緒,シバタナオ,女,O,1975/12/28 20,中本節美,ナカモトセツミ,女,O,1983/08/30 21,藤川松代,フジカワマツヨ,女,B,1990/03/17 22,小倉香世子,コクラカヨコ,女,B,1987/03/10 23,増田泰央,マスダヤスオ,男,A,1994/04/13 24,千葉和帰子,チバワキコ,女,A,1993/12/14 25,篠崎拓夫,シノサキタクオ,男,A,1994/03/10 26,武田智美,タケダトモミ,女,B,1990/09/08 27,山崎堅次,ヤマサキケンジ,男,A,1981/02/18 28,小林知子,コバヤシトモコ,女,A,1972/11/04 29,福岡茂信,フクオカシゲノブ,男,B,1990/06/16 30,星由文,ホシヨシフミ,男,O,1978/02/10 |
手順
カンマをタブに置換

カンマ区切りのCSVであれば、カンマをタブに置換します。
項目がダブルクォートで囲われている場合は、
ダブルクォートを置換によってあわせて除去しておきます。
例:
「,」→「\t」
「”,”」→「\t」
タブを置換

タブをシングルクォート+カンマ+シングルクォートに置換します。
例:
「\t」→「’, ‘」
行頭を置換

行頭を「 INSERT INTO @TABLE VALUES(‘ 」に置換します。
例:(正規表現)
「^」→「INSERT INTO @TABLE VALUES(‘」
※「^」正規表現で行頭をあらわす
行末を置換

行末を「 ’); 」に置換します。
例:
「$」→「’);」
※「$」正規表現で行末をあらわす
更に現在日時などの列があるのであれば、データベースに合わせて工夫して置換しておく。
テーブル名を「@TABLE」としたのは、マクロ化した場合に後からテーブル名を指定するためです。
マクロ化する
マクロ化しておくと同じ作業がものすごい捗ります。

上部メニューより「ツール」>「キーマクロの記録開始」を選択します。
記録を開始したら先程の手順でインサート文を作成します。

インサート文の作成が完了したら
「ツール」>「キーマクロの記録終了&保存」を選択します。
マクロの登録
記録、保存したマクロを登録します。

上部メニューの「設定」>「共通設定」を選択します。

共通設定の「マクロ」タブを開き、先程保存したマクロを登録します。
登録済みマクロの実行

上部メニューの「ツール」>「登録済みマクロ」から、
登録したマクロを呼び出すことができます。
まとめ
開発作業をしていると、インサート文を作らなければならない機会が沢山あるので
そういった作業はなるべく効率よくできるように工夫することが大事ですよね。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません