CSVの列を取り込み形式に合わせる方法
最終更新:
要点
取り込み用のCSVは、列の順番と列名(見出し)が取り込み先の仕様と一致している必要があります。 Excelで列を入れ替えて保存すると、先頭の0や桁の多い番号、日付に見える値が別の値に変わることがあります。値を文字列のまま扱い、列の対応だけを変える方法が安全です。
例:顧客リストを取り込み形式に合わせる
手元の顧客リストを、列名も順番も違う取り込み形式に合わせる例です(架空のデータです)。
顧客コード,顧客名,フリガナ,電話,郵便番号,住所,メールアドレス,備考
00123,架空 太郎,カクウ タロウ,03-0000-0001,0000001,架空県サンプル市1-1,taro@example.invalid,取り込み先が求める形式:
customer_code,name,phone,postal_code,address,email,country| 取り込み先の列 | 入れる値 | 確認すること |
|---|---|---|
customer_code | 顧客コード | 00123 の先頭の0を残す。 |
name | 顧客名 | 名前の列が複数ある場合は、どちらを入れるかを決める。 |
phone・postal_code | 電話・郵便番号 | ハイフンの有無や半角の条件は取り込み先の仕様に従う。 |
country | 固定値(例:JP) | 元のファイルにない列は、空欄か全行同じ値を入れる。 |
| (出力しない) | フリガナ・備考 | 取り込み先にない列は出力しない。 |
Excelで列を入れ替えるときに起きること
CSVをExcelでそのまま開いて保存すると、列の操作とは関係のない値まで変わることがあります。
- 先頭の0が消える。
00123や郵便番号0000001が数値として読まれ、123・1になります。 - 桁の多い番号が変わる。Excelの数値は15桁までなので、
12345678901234567890のような番号は指数表示(1.23457E+19)になり、下の桁が失われます。 - 日付に変わる。
1-2や2026/10/1のような値が日付として扱われ、保存時に表記が変わることがあります。 - 文字コードが変わる。日本語版Windowsで「CSV(コンマ区切り)」として保存すると Shift_JIS(CP932)になり、表せない文字(一部の漢字や絵文字、ハングルなど)は「?」に置き換わります。
Excelで作業する場合は、列を「文字列」として読み込む、保存形式を取り込み先に合わせるなどの設定が必要です。
手順
- 取り込み先の仕様を確認する。列名、順番、必須項目、文字コード(UTF-8かShift_JISか、BOMの有無)、区切り文字を確認します。
- 出力する列ごとに、入れる値を決める。元の列、空欄、全行同じ固定値のどれかです。意味が同じでも列名が違うことがあるため(例:「電話」と
phone)、一つずつ確認します。 - 必須項目が空の行と、列数がそろわない行を確認する。取り込みエラーの多くはここで見つかります。
- 先頭数行を見て、値が変わっていないことを確かめてから保存する。
- 毎月同じ作業をするなら、対応づけを保存しておく。次回は同じ設定を読み込むだけで済みます。
Kakerio(CSV Mapper)での扱い
- 値はそのまま書き出します。先頭の0、桁の多い番号、日付に見える文字列も変換しません。保存する前に、書き出したファイルを読み直して内容が一致することを確かめます。
- 列名が違っても候補を出します。同じ名前、全角・半角や記号だけが違う名前、「電話」と
phoneのようなよく使う言い換えを自動で対応づけ、理由を表示します。 - 取り込み前に気づけるようにします。必須列の空欄、列数がそろわない行、Excelで数式として実行されうる値(先頭が
=+-@)を表示します。 - 対応づけをJSONで保存できます。列名で照合し直すため、次のファイルで列の順番が変わっていても使えます。
- 出力はUTF-8(BOM付き/なし)、カンマ区切りまたはタブ区切りです。Shift_JISでの出力には対応していないため、取り込み先がShift_JISを求める場合は仕様を確認してください。