CSV の文字コード・区切り文字・改行・ダブルクォートの扱い(受け渡し前に決めておくこと)

公開日:2026年10月7日 執筆:Takuya カテゴリ:Excel・CSV・ファイル

ロボットが読み書きする CSV で起きやすい文字化けや列ずれの原因を、文字コード(Shift_JIS・UTF-8・BOM)、区切り文字、改行、ダブルクォートの観点で整理し、受け渡し前に決めておく項目をまとめます。

CSV は「ただのテキスト」だからこそ揉める

架空の例として、基幹システムからダウンロードした売上 CSV をロボットが読み込み、加工して別のシステム用の取り込み CSV を作る業務を考えます。テストでは問題なかったのに、本番で「顧客名が文字化けする」「ある行から列が1つずれる」「Excel で開くと先頭の列名がおかしい」といった問題が起きることがあります。

CSV は単純な形式に見えますが、文字コードや区切り、改行の扱いには何通りもの流儀があります。作る側と読む側で流儀がそろっていないと、こうした問題が起きます。

文字コードの違い

日本の業務でよく使われる文字コードは、主に次の2つです。

  • Shift_JIS(Windows では CP932 と呼ばれる拡張版が使われることが多い):古くからの業務システムや、Excel で保存した CSV で多い。一部の旧字体や環境依存の文字は表せない、または環境によって扱いが違う
  • UTF-8:新しい Web システムやクラウドサービスで多い。ほぼすべての文字を扱える
  • UTF-8 の BOM:ファイルの先頭に付く目印。Excel で UTF-8 の CSV を文字化けせずに開くために必要なことがある一方、BOM があると先頭の列名が正しく読めないシステムもある

区切り文字・改行・ダブルクォート

文字コードのほかにも、ファイルの細かな決まりごとで問題が起きます。

  • 区切り文字:カンマが一般的だが、タブ区切りのファイルを「CSV」と呼んでいる場合もある
  • 値の中のカンマ:住所や金額(1,000)にカンマが含まれると、列がずれる。ダブルクォートで値を囲むのが一般的
  • 値の中のダブルクォート:囲みの中に「"」を書くときは2つ重ねる、という決まりが一般的
  • 改行コード:Windows 系は CRLF、それ以外では LF が多い。取り込み側が片方しか受け付けないことがある
  • セル内の改行:備考欄などに改行が含まれると、1件が複数行に分かれて見える。囲みで正しく扱えるかを確認する

受け渡しの前に決めておくこと

ロボットが CSV を受け取る・渡す場合は、相手のシステムや担当者と次の項目を取り決め、仕様書に書いておきます。「普通の CSV で」という口約束が、後のトラブルの元になります。

  • 文字コード(Shift_JIS か UTF-8 か、BOM の有無)
  • 区切り文字と、値をダブルクォートで囲むかどうか(全項目か、必要なときだけか)
  • 改行コード(CRLF か LF か)と、最終行の後に改行を入れるか
  • 見出し行の有無と、列の順番・列名
  • 日付・金額の書式(2026/10/07 か 20261007 か、カンマの有無)
  • ファイル名の付け方と、0件のときにファイルを作るかどうか

よくある失敗

CSV まわりで実際によく起きる失敗です。

  • ロボットが作った CSV を人が Excel で開いて保存し直し、前ゼロが消えたり日付の形式が変わったりする
  • UTF-8 で出力したら、取り込み側のシステムが Shift_JIS しか受け付けなかった
  • テストデータに環境依存の文字やカンマ入りの住所がなく、本番で初めて問題が出る
  • BOM 付きのファイルを読み込み、1列目の列名が一致せずに列が見つからない

テストデータに「嫌なデータ」を入れる

受け渡しの CSV をテストするときは、カンマを含む住所、ダブルクォートを含む商品名、改行を含む備考、旧字体の氏名、先頭がゼロのコードなど、わざと扱いにくい値を混ぜたデータを用意します。この数行が正しく往復できれば、本番での多くの問題を事前に防げます。

※BizRobo! は RPA テクノロジーズ株式会社の製品です。本サイトは同社とは関係のない個人の解説サイトです。画面や機能の名称は、製品のバージョンによって異なる場合があります。

ほかの記事