CSVチェッカー・UTF-8書き出し

CSVの構造をブラウザー内で確認します。バイト列の読み方(文字コード)と区切り文字を自分で選び、行数・列数、CSVの書式に反する箇所、表計算ソフトが値を変えてしまいそうな箇所を確認できます。確認した値は、そのままUTF-8のCSVとして保存できます(BOMの有無を選べます)。

ファイルはこのブラウザーから出ません

選んだファイルはこのページの中だけで読み取ります。どこにもアップロードせず、外部APIも呼び出しません。ファイル名や内容をアドレスバー、Cookie、ブラウザーの保存領域に書き込むこともありません。タブを閉じればすべて消えます。実行前にブラウザーの開発者ツールの「ネットワーク」タブを開いておくと、通信が発生しないことを自分で確認できます。

CSVを確認する

1. データを選ぶ

上限は 2,097,152 バイト(2 MiB)です。超える場合は途中まで読み込まず、その旨を表示します。

貼り付けたテキストは文字列として解析するだけです。実行や評価は行いません。

2. 文字コード(自分で選びます)

FaultNoteはファイルの文字コードを判定しません。保存時の文字コードを選んでください。そのコードで読めないバイトがあった場合は、置換文字でごまかさずに、何バイト目が読めなかったかを表示します。

3. 区切り文字

ファイル全体で同じ区切り文字を使って解析します。タブ区切りやセミコロン区切りは、日本語環境や欧州のロケールの書き出しでよく使われます。

BOMは「読み方」を伝えるだけで、「解釈」は止められません

UTF-8 BOMは、そのバイト列がどの文字コードかをExcelに伝えます。ダブルクリックで開いたときに日本語が文字化けする問題は、これで解消できます。一方、読み取ったあとの解釈は変わりません。007 は 7 に、1-2 は日付に、= で始まる値は数式として扱われ得ます。これを制御するには、直接開かずに[データ]>[データの取得]>[テキストまたはCSVから]で取り込み、列のデータ型を指定してください。

ExcelでUTF-8の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以降が必要です。

GitHubでソースコードとCLIの導入手順を見る

関連するガイド

活用ガイドの一覧へ