CSVをExcelに変換
途中で何も変わらない、本物の.xlsxに。
- 先頭のゼロを保持
- 長いIDを丸めない
- 数値は合計可能
- アップロードなし
1.ファイルを開く
CSVまたはTSV。ここにドラッグするか、ファイルを選択してください。
作った理由
CSVをExcelで開くのは、中立な操作ではありません。Excelは各セルの意味を推測し、その推測が内容を壊します。郵便番号は先頭のゼロが消え、16桁の注文番号は15桁に丸められ、日付に似たものは日付に変わります。このツールは.xlsxを自分で書き出し、各列の型をすべての値から判定します。そのため、数値は合計できる数値として、数値に見えるだけのものは元のテキストのまま届きます。
できること
- 列が数値かどうかを、サンプルではなくすべての値を読んで判定します。
- 数値は本物の数値として、true/falseはExcelの論理値として書き出します。
- 先頭にゼロがある列や15桁を超える列はテキストのままにし、ダウンロード前にどの列かを表示します。
- 見出し行を固定して太字にし、フィルターを追加して、列幅を内容に合わせます。
- 1,048,576行を超えるファイルは、Excelのシートあたりの上限なので、同じブックの複数のシートに分けます。
CSVをそのままExcelで開かない理由
Excelは開くときに変換し、その変換こそが破損の原因だからです。`00742`だったセルは742として保存され、そのまま保存し直せば742が書き込まれます。ブックを直接書き出せば、各セルの型は、ダブルクリックした瞬間のExcelの推測ではなく、確認できるルールで一度だけ決まります。
よくある質問
- 先頭のゼロは残りますか?
- 残ります。値が0で始まり、その後に数字が続く列は、すべてテキストで書き出されます。そのため00742は、ブックの中でも、そのコピーでも00742のままです。
- 数値の一部がテキストで保存されるのはなぜですか?
- 数量ではなく識別子だからです。郵便番号、電話番号、口座番号、注文番号などがそうです。Excelが保持できる有効桁数は15桁なので、16桁の数値は丸められてしまい、最後の桁が変わった識別子は別の識別子になります。すべてをテキストにしたい場合は、チェックボックスをオンにすると、何も変換されません。
- 非常に大きなファイルでも使えますか?
- 使えます。ただし、ブラウザのタブが使えるメモリの範囲までです。1,048,576行を超えるとブックに2枚目、3枚目のシートが追加されます。Excelの1枚のシートには、それ以上入らないためです。
ほかのツール
- CSVファイルをブラウザで開くファイルを入れるだけ。ここで開き、ここから出ません。開く
- CSVファイルにSQLを実行データベースを入れずに、ファイルへ本物のSQLを。開く
- 複数のCSVファイルを1つに結合複数のファイルを入れて、1つのファイルを出力。列は名前で照合。開く
- CSVの重複行を削除行を特定する列として指定したものだけで、重複を判定。開く
- 2つのCSVファイルを比較追加・削除・変更を、行単位ではなくキーで照合。開く
- CSVをPDFに変換CSVを読みやすい表にレイアウトして、PDFで保存。開く
- CSVをJSONに変換1行が1オブジェクト、見出しがキーに。開く
- JSONをCSVに変換ツリー構造を、どこでも開ける表に。開く
- ExcelをCSVに変換ブックのすべてのシートを、きれいなUTF-8のCSVに。開く
- CSVファイルを分割大きすぎて使えない1つのファイルを、使いやすい複数に。開く
- 乱れたCSVをクリーンアップGermany、germany、「Germany 」が、再び1つの値に。開く
- CSVをSQLのINSERT文に変換CSVを入れれば、どのデータベースでも実行できる.sqlスクリプトに。開く