CSVファイルの基本構成
CSVは、表形式のデータをテキストで保存するファイルです。一般的には1行目に列名、2行目以降にデータを記述し、各項目をカンマで区切ります。Excelのようなセルの色、数式、複数シートは保存しません。
拡張子が.csvでも、区切り文字、文字コード、改行コードが同じとは限りません。システムへ取り込む場合は、取り込み先が指定する形式を先に確認します。
そのまま使えるサンプルCSV
次は顧客データを想定したサンプルです。テキストエディターへ貼り付け、UTF-8でcustomers.csvとして保存できます。メールアドレスと氏名は説明用の架空データです。
customer_id,name,email,plan,registered_at,note
000001,山田太郎,taro.yamada@example.invalid,standard,2026-09-01,"東京都, 新宿区"
000002,佐藤花子,hanako.sato@example.invalid,premium,2026-09-02,"特別プラン ""秋"""
000003,鈴木一郎,ichiro.suzuki@example.invalid,standard,2026-09-03,| 列名 | 値の例 | 扱い方 |
|---|---|---|
customer_id | 000001 | 先頭0を含む識別子なので文字列として扱う |
name | 山田太郎 | 日本語を含むため文字コードを確認する |
email | taro.yamada@example.invalid | 説明用の無効ドメインを使用 |
plan | standard | 取り込み先が許可する選択肢に合わせる |
registered_at | 2026-09-01 | 日付形式を列内で統一する |
note | 東京都, 新宿区 | カンマを含む値はダブルクォートで囲む |
値にカンマ・改行・引用符がある場合の書き方
セルの値に区切り文字、改行、ダブルクォートが含まれる場合は、その値全体をダブルクォートで囲みます。値の中にあるダブルクォートは2個続けて記述します。
| 元の値 | CSVでの記述 |
|---|---|
東京都, 新宿区 | "東京都, 新宿区" |
特別プラン "秋" | "特別プラン ""秋""" |
| セル内で改行した文章 | 値全体をダブルクォートで囲む |
単純に文字列をカンマで連結すると、住所や説明文に含まれるカンマまで列の区切りとして扱われます。CSVをプログラムで作る場合は、CSVライブラリや正しいエスケープ処理を使用してください。
文字コード・区切り文字・改行コードを決める
| 設定 | 主な選択肢 | 選び方 |
|---|---|---|
| 文字コード | UTF-8 BOM付き、UTF-8、Shift_JIS | Excelで開くならUTF-8 BOM付き、システム連携は仕様を優先 |
| 区切り文字 | カンマ、タブ、セミコロン、パイプ | 取り込み先が指定する文字を選ぶ |
| 改行コード | CRLF、LF | Windows向けはCRLFが一般的。システム指定があれば従う |
| ヘッダー | あり、なし | 列名を要求するか、1行目からデータを要求するか確認する |
Excelで日本語を扱う場合は、まずUTF-8 BOM付きを試すと文字化けを避けやすくなります。ただし、古い業務システムがShift_JISを要求することもあります。拡張子だけでは文字コードを判断できません。
CSVファイル生成ツールで作る手順
手元の一覧を行ごとにCSVへ入れる場合や、連番・日付・ランダム値を含むテストデータが必要な場合は、CSVファイル生成ツールを利用できます。設定と生成はブラウザ内で処理されます。
- 生成行数を入力する1~100,000行の範囲で必要なデータ件数を指定します。
- 文字コードと区切り文字を選ぶUTF-8 BOM付き、UTF-8、Shift_JISと、カンマ、タブなどから選択します。
- 列を設定する手動で追加するか、既存CSVを選択して1行目のヘッダーを列名として読み込みます。
- 値の形式を選ぶ複数行テキスト、空欄、固定値、連番、ランダム整数、日付、選択肢、メールアドレス、UUID、ランダム文字列、Booleanを組み合わせます。
- CSVを生成する[CSVを生成]を押し、先頭10行のプレビューで列順と値を確認します。
- ファイルを保存する[CSVをダウンロード]から設定したファイル名で保存します。
列、データ形式、空欄率、文字コード、区切り文字を指定できます。
サンプルCSVをツールで再現する設定
上の顧客CSVに近いデータを作る場合は、次のように列を設定します。氏名を入力順のまま各行へ設定する場合は「複数行テキスト」、候補からランダムに選ぶ場合は「選択肢」を使用します。
| 列名 | 値の形式 | 設定例 |
|---|---|---|
customer_id | 連番 | 開始値1、増分1、0埋め6桁 |
name | 複数行テキスト | 1行目に山田太郎、2行目に佐藤花子、3行目に鈴木一郎 |
email | メールアドレス | example.invalid |
plan | 選択肢 | standard、premium |
registered_at | 日付 | 開始日2026-09-01、日数間隔1、形式yyyy-MM-dd |
note | 固定値または空欄 | 必要に応じて空欄率を設定 |
ランダム値や空欄判定は生成するたびに変わります。テスト結果を再現する必要がある場合は、生成したCSVを保管し、同じファイルをテストに使用してください。
生成後に確認する項目
- 列名と列順が取り込み仕様どおりか
- 必要なデータ件数があるか
- IDの先頭0が残っているか
- 日付形式が列内で統一されているか
- 空欄を許可しない列に空欄がないか
- カンマや改行を含む値が正しく引用されているか
- 指定した文字コード、区切り文字、改行コードか
- 実在する個人情報をテストデータへ入れていないか
構造をまとめて確認する場合はCSV 文字コード・総合診断、必須項目や文字数などを検証する場合はCSV 列制約チェックを利用できます。
CSVファイル生成のまとめ
CSVは、列名とデータ行を区切り文字で表すテキストファイルです。値にカンマ、改行、ダブルクォートがある場合は正しく引用し、利用先に合わせて文字コード、区切り文字、改行コードを決めます。
少量ならサンプルをテキストエディターで保存できます。複数列や大量のテストデータを作る場合は、CSVファイル生成ツールで列ごとの形式と空欄率を指定し、プレビューを確認してから保存してください。