Excelには大きすぎるCSVファイルを開く方法
CSVが完全に読み込まれなかったとExcelに言われたときの対処法。
ファイルが完全には読み込まれなかったとExcelに警告される、あるいはCSVを開くと下のほうの行がただ消えている。Excelの行数の上限に達したのです。データはすべてファイルに残っていて、Excelが表示できないだけです。
上限
| ソフト | 上限 |
|---|---|
| Excel | 1シートあたり1,048,576行、16,384列 |
| Googleスプレッドシート | 1ファイルあたり1,000万セル。列が多い表では行数が少なくなる |
| Apple Numbers | 1つの表あたり1,000,000行 |
上限に達するずっと前から、大きなファイルは表計算ソフトを重くします。列の多い数十万行のデータでも、スクロール、並べ替え、絞り込みがつらくなります。
方法1:ファイルを分割する
いちばん簡単な解決策です。CSVを分割するツールはファイルを決まった行数ごとに分け、各ファイルの先頭に見出し行をコピーするので、どのファイルも単独で開いて使えます。Excelなら1ファイル25万〜50万行で十分快適です。引用符付きの文章の中に改行があっても、行が途中で切れることはありません。
方法2:必要な列だけを残す
書き出しデータには何十もの列があっても、必要なのは3列だけということがよくあります。残りを消せばファイルは大幅に小さくなり、Excelで快適に扱える範囲に収まることも多いでしょう。列を抽出するツールは、指定した列を指定した順番で残します。
方法3:Power Queryで取り込む
Excelの「データ」→「テキストまたはCSVから」は、Power Queryを通してファイルを読み込みます。シートに入る前に行を絞り込んだり、シートの行数上限に縛られないデータモデルに読み込んだりできます。データ全体でピボットテーブルを作りたいなら、この方法が適しています。
方法4:大量データ向けのツールを使う
数百万行を定期的に分析するなら、表計算ソフトよりもデータベースやデータ用のツールが向いています。SQLのデータベース、Pythonとpandas、専用のCSVビューアなどです。一度中身を見るだけなら、新しいツールを覚えるより分割したほうが早いでしょう。
分割したファイルを元に戻す
分割したファイルを整えたり絞り込んだりしたら、CSVを結合するツールで見出し行を1つだけ残して1つのファイルに戻せます。
ブラウザで処理する理由
大きなCSVはたいてい、顧客、注文、取引の書き出しです。ここで紹介したツールはファイルをブラウザのメモリ上で処理し、アップロードしません。ノートパソコンなら数百MBのファイルでも問題ありませんが、スマートフォンでは非常に大きなファイルでメモリが足りなくなることがあります。