はじめに
KaggleのNotebookでファイルをダウンロードする場合、
通常、コミット後にOutput Filesからファイルをダウンロードする必要があります。
Notebookのエディットモードで検証しながら生成したファイルが欲しい場合、
その方法だと一度コミットを挟まなければいけません。
流石にそれは面倒なので、Notebookのエディット画面からファイルをダウンロードする方法をいくつか調べました。
どの方法も大差は無いと思いますが、個人的にFileLinksを使用しています。
※ダウンロード対象は下図の ./images.zip です。コードは適宜読み替えてください。
マークダウンでリンクを作成
マークダウン形式のセルを作成し、以下のコードを実行します。
(hrefはダウンロード対象のファイルパスを指定してください。)
<a href="./images.zip"> Download File </a>
出現したリンクをクリックすることでダウンロードができるようになります。
IPythonのFileLink/FileLinksを使用
IPython用のライブラリにFileLink/FileLinksというモジュールがあります。
違いは引数の指定と、複数ファイルのダウンロードが可能かどうかという点で異なります。
FileLink
FileLinkの場合は、ファイルのパスを引数に指定します。
実行すると、出力結果にダウンロードリンクが出てきます。
from IPython.display import FileLink
FileLink("./images.zip")
FileLinks
FileLinksの場合は、ダウンロードしたいファイルがあるディレクトリのパスを引数に指定します。
実行すると、出力結果にディレクトリ直下にあるファイルのダウンロードリンクが出てきます。
サブディレクトリは表示されません。
from IPython.display import FileLinks
FileLinks(".")
余談
なぜkaggleはKernelからNotebooksに名前を変えたのだろうか。。。