CSV/TSV データをクリーンアップする Web アプリケーションを作成しました。このアプリを使用すると、CSV ファイルをアップロードして読み取り、データを修正してから、正しいデータを含む新しい CSV ファイルをダウンロードできます。私が遭遇した課題の 1 つは、2500 行を超えるファイルをダウンロードすることです。ブラウザーがクラッシュし、次のエラー メッセージが表示されます。
"Aw, Snap! Something went wrong while displaying this webpage..."
これを回避するために、すべてのデータがダウンロードされるまで、2500 行を超えない複数の CSV ファイルをダウンロードするようにプログラミングを変更しました。次に、ダウンロードした CSV ファイルを最終的なファイルにまとめます。それは私が探している解決策ではありません。100,000 行をはるかに超えるファイルを扱う場合、すべてのコンテンツを 40 ではなく 1 つのファイルでダウンロードする必要があります。フロントエンド ソリューションも必要です。
以下は、CSV ファイルをダウンロードするためのコードです。隠しリンクを作成し、データ配列 (各要素には 1000 行あります) の内容をエンコードし、隠しリンクのパスを作成しています。次に、リンクをクリックしてダウンロードを開始します。
var startDownload = function (data){
var hiddenElement = document.createElement('a');
var path = 'data:attachment/tsv,';
for (i=0;i<data.length;i++){
path += encodeURI(data[i]);
}
hiddenElement.href = path;
hiddenElement.target = '_blank';
hiddenElement.download = 'result.tsv';
hiddenElement.click();
}
私の場合、上記のプロセスは一度に ~ 2500 行で機能します。大きなファイルをダウンロードしようとすると、ブラウザがクラッシュします。ブラウザをクラッシュさせずに大きなファイルをダウンロードするにはどうすればよいですか? ブラウザをクラッシュさせているファイル (12,000 行 x 48 列)
psファイルのアップロードが可能なGoogle Chromeでこれらすべてを行っています。したがって、ソリューションは Chrome で機能するはずです。