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)はどちらも表形式のデータを扱えますが、内部構造や機能に大きな違いがあります。用途に応じて使い分けましょう。
| 比較項目 | CSV | Excel(.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) | .tsv | Excelへのコピー&ペーストに便利。データにカンマを含む場合にも安全 |
| セミコロン(;) | .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の最大のメリットです。