CSVチェッカー・UTF-8書き出し
CSVの構造をブラウザー内で確認します。バイト列の読み方(文字コード)と区切り文字を自分で選び、行数・列数、CSVの書式に反する箇所、表計算ソフトが値を変えてしまいそうな箇所を確認できます。確認した値は、そのままUTF-8のCSVとして保存できます(BOMの有無を選べます)。
ファイルはこのブラウザーから出ません
選んだファイルはこのページの中だけで読み取ります。どこにもアップロードせず、外部APIも呼び出しません。ファイル名や内容をアドレスバー、Cookie、ブラウザーの保存領域に書き込むこともありません。タブを閉じればすべて消えます。実行前にブラウザーの開発者ツールの「ネットワーク」タブを開いておくと、通信が発生しないことを自分で確認できます。
CSVを確認する
解析結果
行と列
取り込む前に確認すること
CSV書式の問題
プレビュー
表示するのは最大 50 行・30 列、1つの値につき先頭 200 文字までです。値はすべて文字どおりに表示します。scriptタグや =HYPERLINK() のような値も、その文字列がそのまま表示されるだけで、解釈も実行もされません。表示上の制限であり、値そのものは変わりません。
表は横にスクロールできます
列ごとの状況
UTF-8のCSVとして保存
ダウンロードは、プレビューに表示した範囲だけでなく、解析したすべての値から作ります。引用符、値の中の改行、先頭ゼロ、空の値はそのまま保持します。CSVの規則上必要な場合だけ引用符で囲み、値そのものは書き換えません。入力の引用符がCSVの規則に反している場合は、値が推測になるため、ダウンロードを無効にします。
BOMは「読み方」を伝えるだけで、「解釈」は止められません
UTF-8 BOMは、そのバイト列がどの文字コードかをExcelに伝えます。ダブルクリックで開いたときに日本語が文字化けする問題は、これで解消できます。一方、読み取ったあとの解釈は変わりません。007 は 7 に、1-2 は日付に、= で始まる値は数式として扱われ得ます。これを制御するには、直接開かずに[データ]>[データの取得]>[テキストまたはCSVから]で取り込み、列のデータ型を指定してください。
数式候補は「報告」だけで、書き換えません
=, +, -, @ で始まる値は一覧に出します。どう扱うかは利用者が決めます。このツールはアポストロフィを付けたり、先頭に空白を入れたり、ダウンロードの中身を書き換えたりはしません。そうした処理は、正当にそれらの文字で始まる識別子を黙って壊してしまうためです。表計算ソフト上で数式として動かしたくない場合は、取り込み時に列を「テキスト」に指定してください。
このツールの制限
- 上限は 2,097,152 バイトです。超えるファイルは部分的に読まず、メッセージを表示して中止します。
- 読み方として選べるのはUTF-8とShift_JISだけです。UTF-16のファイルは理由を表示して中止します。
- 文字コードの自動判定は行いません。「UTF-8として読める」という表示はバイト列の性質を述べたもので、判定ではありません。同じバイト列が複数の文字コードでエラーなく読めることがあるためです。
- ダウンロードは常にUTF-8・カンマ区切りです。Shift_JISのファイルは書き出しません。
- 1行目を見出しと決めつけないため、列は番号で表示します。
- プレビューは最大 50 行・30 列、1つの値につき 200 文字までに制限します。統計は解析したすべての行を対象に計算し、ダウンロードにはすべての値が全文で入ります。
- 入力がCSVの引用符の規則に反している場合、読み取った値は復元を試みた結果であり、元の意図と一致する保証がありません。この場合はダウンロードを無効にし、元のファイルの修正をお願いしています。行ごとの列数の違いは規則違反ではないため、ダウンロードできます。
- 選んだ文字コードとして形は正しいものの、対応する文字が定義されていないバイト列の場合は、何バイト目かを特定できないため、位置を示さずに読み取り失敗として報告します。
コマンドラインからCSVを検査する
繰り返しの検査やスクリプトへの組み込みには、同じ解析処理を使うオープンソースのfaultnote-csv CLIを利用できます。UTF-8・Shift_JISを端末内で読み取り、JSON形式で結果を出力でき、既存ファイルへの上書きは拒否します。Node.js 24以降が必要です。