ノートブックを簡素化する場合は、ノートブックの一部のコードを、ノートブックがインポートできるスクリプトに移動できます。 例えば、すべてのヘルパー関数、クラス、および視覚化コード・スニペットをスクリプトに移動したり、同じランタイムを共有するすべてのノートブックでスクリプトをインポートしたりすることができます。 追加のコードをすべて使用しないと、ノートブックで分析結果をより明確に伝えることができます。
ローカル・マシンからノートブックにスクリプトをインポートし、ノートブックからスクリプトに書き込むには、以下のいずれかのオプションを使用します。
ローカル・スクリプト・ファイルからノートブック・セルにコードをコピーします。
Python の場合:
このセルの先頭に
%%writefile myfile.py
を追加して、コードを Python ファイルとして作業ディレクトリーに保存します。 同じランタイムを使用するノートブックもこのファイルをインポートできます。この方法の利点は、ノートブックでコードを使用できること、および新規の Python スクリプトとしていつでも編集および保存できることです。
R の場合:
ノートブック内のコードを R スクリプトとして作業ディレクトリーに保存する場合は、
writeLines(myfile.R)
関数を使用できます。
ローカル・スクリプト・ファイルを Cloud Object Storage に保存し、そのファイルをランタイムのローカル・ファイル・システムに追加して、ランタイムで使用できるようにします。 これは、Python でのみサポートされます。
- 「資産をプロジェクトにアップロード」 アイコン をクリックしてから、スクリプト・ファイルを参照するか、ノートブックのサイドバーにドラッグします。 スクリプト・ファイルが、プロジェクトに関連付けられている Cloud Object Storage バケットに追加されます。
- スクリプトをランタイムのローカル・ファイル・システムに追加して、スクリプト・ファイルを Python ランタイムで使用できるようにします。
「コード・スニペット」 アイコン をクリックし、 「データの読み取り」を選択します。
「プロジェクトからデータを選択」 をクリックし、 「データ資産」を選択します。
プロジェクトの COS で使用可能なデータ資産のリストから、スクリプトを選択し、 「選択」をクリックします。
ノートブックで空のセルをクリックし、ノートブック・サイドバーの 「名前を付けてロード」 メニューから 「 StreamingBody オブジェクトの挿入」を選択します。
StreamingBody オブジェクトの内容をローカル・ランタイムのファイル・システム内のファイルに書き込みます。
f = open('<myScript>.py', 'wb') f.write(streaming_body_1.read()) f.close()
これにより、書き込みアクセス権限のあるファイルが開き、ファイルに書き込むための書き込み方式を呼び出します。
スクリプトをインポートします。
import <myScript>
ノートブック内のスクリプト内のメソッドにアクセスするためのクラスをインポートするには、次のコマンドを使用します。
Python の場合:
from <python file name> import <class name>
R の場合:
source("./myCustomFunctions.R") ## available in base R
Web から R スクリプトを入手するには、次のようにします。
source_url("<insert URL here>") ## available in devtools
親トピック: ライブラリーとスクリプト