データローダの利用や、CSVファイルの作成や編集などに関しての便利なテクニックや、注意したい点などの備忘録です。
#目次
1.CSVファイルを表示するとき
2.CSVファイルを作成するとき
3.データローダに関する注意点
#1.CSVファイルを表示するとき
###0落ちしてしまう
CSVファイルをダブルクリックするなどしてExcelでそのまま開くと、「0」から始まる数値は0が勝手に除去されてしまうので以下の方法で開いて対処する
####・CSVファイル全体をそのまま使う場合
「データ」>外部データの取り込み>テキストファイル>テキストファイルウィザード
①データのファイル形式(カンマ区切りor固定長フィールド)
②区切り文字の種類、文字列の引用符
③列のデータ形式(日付、文字列etc)
→0を除去されたくない列は「文字列」を指定してインポートする
####・CSVファイルの一部を使う場合
サクラエディタなどのテキストエディタでCSVファイルを開く>使いたい部分を選択してコピー>Excelのシートにペースト>貼り付け先セルの右下「貼り付けのオプション」>テキストファイルウィザード
(以下の手順は同上)
###列や行によって幅が違うなど見にくい
全セルを選択(A1セル左上の三角形をクリックか、Ctrl+A)>「ホーム」>「配置」>「折り返して全体を表示する」を2回クリックする
→すべて同じ幅に調節される
#2.CSVファイルを作成するとき
###保存時の注意
ExcelでCSVファイルとして保存するとき、該当のシート1枚しか保存されないので、VLOOKUPなどでシートを複数使用している場合などはデータを意図せず消去してしまうことがあるので注意
→一度Excelファイルを保存したあと、コピーを作成してCSVファイルにするなど
###Excelを利用してカンマ区切りを作成する方法
(他にも"で囲むときなど、同一文字を利用する作業で使える)
①セルにデータを入力
②直下のセルにカンマを入力
③さらにその下のセルに文字結合の数式を入力(「=(①のセルを選択)&(②のセルを選択)」でEnterキー)
④②のセルの右下にカーソルを合わせて(黒い十字になる)クリックしたまま、必要なところまでドラッグして離す
⑤③のセルの右下にカーソルを合わせて(黒い十字になる)クリックしたまま、必要なところまでドラッグして離す
⑥数式なので⑤の該当部分をExcel上の他の場所にそのままコピペするとエラーになるので
コピー>貼り付けたい先のセルを選択>右クリック>「貼り付けのオプション」>「値」を選択
###便利なショートカットキー
Ctrl+方向キー:その方向のデータのある一番先のセルまで移動
Ctrl+Shift+方向キー:その方向のデータのある一番先のセルまでの全セルを選択する
F2:セル内を直接編集できるようにする
Ctrl+F:「検索と置換」の検索
Ctrl+H:「検索と置換」の置換(区切り文字をまとめて置換するなど)
※「オプション」で対象の場所を「シート」か「ブック」か選択できる
Ctrl+;:今日の日付(ex.2020/6/28)を入力
Ctrl+::現在時刻(ex.18:00:00)を入力
###合わせ技
「書式のコピー」と「Ctrl+Shift+方向キー」
ホウキマークをダブルクリック>Ctrl+Shift+方向キー
まとめて書式をコピーできる
####書式設定のユーザ定義を利用する
#####Salesforceの日付時間項目の書式フォーマットで入力する
「セルの書式設定」>「表示形式」>「ユーザ定義」>「種類」>「yyyy-mm-ddThh:mm :ss.ssZ」と入力して登録
ex.)「Ctrl+;」(スペース)「Ctrl+:」>上のユーザ定義を適用
#####0埋め(桁数の変更)
右クリック>「セルの書式設定」>「表示形式」>「ユーザ定義」>「種類」(デフォルトで「G/標準」となっている)に直接桁数分の0を入力
###書式のコピー/貼り付け
書式をコピーしたい元のセルを選択
>ホーム>クリップボード>ホウキのマーク
あるいは
>右クリック>ホウキのマーク
>コピーしたい先のセルを選択
#3.データローダに関する注意点
###CSV作成時の注意点
・オブジェクトの必須項目を必ず入れる
・ヘッダー行に項目名を入れる
・重複レコードを含めない
###Bulk API
Bulk APIを利用するとデフォルトのSOAPベースAPIよりも速く多くのレコードを読み込み、または削除できる
大量のデータを利用するときは基本的にBulk APIを利用する
使い方
settings>settings>Use Bulk APIにチェックを入れる
###Bulk API使用時の注意点
・カンマ以外の区切り文字は使用不可
・値にカンマ、改行、二重引用符(")などが含まれるときは二重引用符で囲んでエスケープする必要がある
・項目の値が空のときレコードの更新時にはその項目は無視される(settingsのInsert null valuesにはチェックをつけられない)
→値をnullに設定したいときは項目値「#N/A」を使用する
###データローダのよくあるエラー
####Error:Row is larger than header:ヘッダがない項目にデータがある
データが意図せず残ってしまっている場合などがあるので、
ヘッダの無い列をすべて選択(ヘッダのない一番左の列のアルファベットを選択>Ctrl+Shift+右キー)>右クリック>削除
で削除しておくとよい
####ヘッダ行がデータのある行よりも多い(データのないヘッダがある)
「initializing salesforce object and csv file」というウィンドウが表示されたまま固まってしまうバグ
→該当のヘッダを削除する