タスカルツールズ

CSVファイルとは?作り方・Excelとの違い・文字化け対策をわかりやすく解説

CSVファイルの基本的な仕組みから、Excelとの違い、作り方、文字化けの原因と対策までわかりやすく解説します。

CSVとは

CSV(Comma-Separated Values)とは、データをカンマ(,)で区切って並べたテキストファイルです。拡張子は.csvで、メモ帳やテキストエディタで中身を確認・編集できます。

たとえば、名前・年齢・メールアドレスのデータは次のように表現されます。

名前,年齢,メールアドレス
田中太郎,30,tanaka@example.com
鈴木花子,25,suzuki@example.com

このようにシンプルな構造であるため、さまざまなアプリケーションやプログラミング言語でデータのやり取りに広く使われています。

CSVの特徴

  • テキスト形式で軽量:バイナリではなくプレーンテキストのため、ファイルサイズが小さく扱いやすい
  • 互換性が非常に高い:Excel、Googleスプレッドシート、データベースソフト、プログラミング言語など、ほぼすべてのアプリケーションで読み書きできる
  • 書式情報を持たない:フォント・色・罫線・セル幅などの書式(スタイル)は保存されない
  • 複数シート・グラフ・数式は保存できない:1つのシート(1つの表)のデータのみ保存される

CSVとExcel(.xlsx)の違い

CSVとExcelファイル(.xlsx)はどちらも表形式のデータを扱えますが、内部構造や機能に大きな違いがあります。用途に応じて使い分けましょう。

比較項目CSVExcel(.xlsx)
ファイル形式テキスト(プレーンテキスト)バイナリ(XML圧縮)
書式(フォント・色・罫線)なしあり
数式なしあり
シート数1つのみ複数シート対応
互換性非常に高い(ほぼすべてのアプリで開ける)Excel依存(互換ソフトで崩れる場合あり)
ファイルサイズ小さい大きい
拡張子.csv.xlsx

※ データの受け渡しや他システムへのインポートにはCSV、書式を含む資料の保存・編集にはExcelが適しています。

CSVの作り方

CSVファイルはさまざまな方法で作成できます。目的や環境に合わせて最適な方法を選びましょう。

Excel / Googleスプレッドシートから保存

最も手軽な方法です。Excelの場合は「ファイル」→「名前を付けて保存」→ファイルの種類でCSV(コンマ区切り)を選択します。Googleスプレッドシートの場合は「ファイル」→「ダウンロード」→「カンマ区切り値(.csv)」を選択します。

テキストエディタで手書き

メモ帳やVSCodeなどのテキストエディタで、カンマ区切りのデータを直接入力し、拡張子を.csvにして保存します。少量のデータを素早く作成したい場合に便利です。

プログラムから出力

Python、JavaScript、PHPなどのプログラミング言語を使って、データベースやAPIから取得したデータをCSV形式で出力できます。大量データの定期的なエクスポートに適しています。

CSVの区切り文字

CSVの「C」はComma(カンマ)の略ですが、実際にはカンマ以外の文字で区切られるファイルも広義のCSVとして扱われます。代表的な区切り文字を紹介します。

区切り文字拡張子補足
カンマ(,).csv最も標準的。RFC 4180で定義されている
タブ(\t).tsvExcelへのコピー&ペーストに便利。データにカンマを含む場合にも安全
セミコロン(;).csvヨーロッパ圏で一般的。小数点にカンマを使う地域で採用

※ どの区切り文字を使うかは、データの内容や利用先のシステムに合わせて選びます。日本国内ではカンマ区切りが一般的です。

文字化けの原因と対策

CSVファイルをExcelで開いたときに日本語が文字化けする、という経験がある方は多いのではないでしょうか。これは文字コードの不一致が原因です。

文字化けが起きる原因

CSVファイルの文字化けは、ファイルを保存したときの文字コードと、開くアプリケーションが期待する文字コードが異なることで発生します。たとえば、UTF-8で保存されたCSVをExcelがShift_JISとして読み込むと、日本語が正しく表示されません。

文字コードBOM特徴
Shift_JISなしWindows日本語環境の旧標準。古いシステムで使われる
UTF-8(BOMなし)なし国際標準。Excelで開くと文字化けする場合がある
UTF-8(BOM付き)ありExcelで正しく開ける。最も安全な選択肢

Excelで文字化けを防ぐ方法

最も簡単で確実な方法は、CSVファイルをUTF-8 BOM付きで保存することです。BOM(Byte Order Mark)は、ファイルの先頭に付与される数バイトのマーカーで、Excelはこのマーカーを検出してUTF-8として正しく読み込みます。

Excelの「データの取り込み」機能を使う

BOMなしのCSVを開く場合は、Excelの「データ」タブ→「テキストまたはCSVから」を使い、文字コードを手動で指定して読み込むこともできます。プレビュー画面で文字化けしていないか確認してからインポートしましょう。

CSVファイルを作成・出力する際は、UTF-8 BOM付きで保存するのが最も安全です。多くのプログラミング言語やツールでBOM付き出力に対応しています。

データにカンマが含まれる場合

CSVではカンマが区切り文字として使われるため、データ自体にカンマが含まれる場合は特別な処理が必要です。RFC 4180(CSVの標準仕様)では、カンマを含むデータはダブルクォーテーション(")で囲むと定められています。

会社名,住所,電話番号
"株式会社タスカル","東京都渋谷区1-2-3",03-1234-5678
"ABC,Inc.","大阪府大阪市4-5-6",06-9876-5432

上の例では、ABC,Inc.のようにデータ内にカンマが含まれていますが、ダブルクォーテーションで囲むことで正しく1つのフィールドとして認識されます。

  • データ内にカンマ(,)がある場合 → ダブルクォーテーションで囲む
  • データ内にダブルクォーテーション(")がある場合 → ""のように2つ重ねてエスケープする
  • データ内に改行がある場合 → ダブルクォーテーションで囲む

CSVの活用シーン

CSVはそのシンプルさと高い互換性から、幅広い分野で活用されています。

データベースのインポート/エクスポート

MySQL、PostgreSQLなどのデータベースでは、CSVを使ったデータの一括インポート・エクスポートが標準機能として提供されています。システム間のデータ移行にも広く使われます。

ECサイトの商品一括登録

Amazon、楽天市場、Shopifyなどのecサイトでは、商品情報をCSVで一括アップロードする機能が用意されています。数百・数千件の商品を効率的に登録・更新できます。

メーリングリスト・連絡先管理

メール配信サービスやCRMツールでは、CSV形式で連絡先リストをインポートできます。Gmailの連絡先やOutlookのアドレス帳もCSVでエクスポート・インポートが可能です。

データ分析

PythonのpandasライブラリやR言語、BIツールなど、データ分析で使われるツールのほとんどがCSVの読み込みに対応しています。分析用データの共有フォーマットとして定番です。

よくある質問

Q. CSVファイルをExcelで開くと文字化けします。どうすればいいですか?
CSVファイルの文字コードとExcelが期待する文字コードが異なることが原因です。最も簡単な対策は、CSVファイルをUTF-8 BOM付きで保存し直すことです。既存のCSVファイルを開く場合は、Excelの「データ」タブ→「テキストまたはCSVから」を使い、文字コードをUTF-8に指定してインポートしてください。
Q. CSVとTSVの違いは何ですか?
CSVはカンマ(,)でデータを区切り、TSVはタブ文字でデータを区切ります。データ内にカンマが多く含まれる場合はTSVのほうが扱いやすいです。Excelにデータを貼り付ける場合もタブ区切りが便利です。どちらもテキスト形式であり、基本的な構造は同じです。
Q. CSVファイルはExcel以外のソフトでも開けますか?
はい、CSVはプレーンテキスト形式なので、メモ帳やテキストエディタ、Googleスプレッドシート、LibreOffice Calc、各種データベースソフト、プログラミング言語など、ほぼすべてのアプリケーションで開くことができます。この高い互換性がCSVの最大のメリットです。