2017-10-13 122 views
0

我正在尋找在Datalab筆記本中使用%storage魔法,但在函數中。該行看起來像:從Google Cloud Datalab中的一個函數中運行一個神奇的功能

%storage write --variable df --object $bucket_object 

,當調用我得到這個錯誤的函數:

Undefined variable referenced in command line: $bucket_object

bucket_object在功能先前定義,而這個工作的功能外運行時。

This answer關於對IPython中類似的問題建議尋找路徑,然後導入,如:

from IPython.core.magics.display import Javascript

是否有類似的方法來調用Datalab魔各自的功能,因此,它會另一個函數內的工作?

回答

2

%存儲和其他類似的命令大多是基礎API上的語法糖。

例如,在這種情況下,google.datalab.storage APIs。文檔是http://googledatalab.github.io/pydatalab/google.datalab.storage.html

像這樣的東西可能會奏效:

import google.datalab.storage as storage 

bucket = storage.Bucket(bucket_name) 
obj = bucket.object(object_key) 
obj.write_stream(data, content_type) 

希望有所幫助。

+0

'write_stream'給出這個錯誤:「TypeError:write_stream()只需要3個參數(給出2)」。根據[文檔](http://googledatalab.github.io/pydatalab/_modules/google/datalab/storage/_object.html),它看起來像'upload'可能會工作,但是這給了這個錯誤:「ValueError: DataFrame的真值是不明確的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。「 –

+0

請注意,write_stream也需要內容類型,所以它應該是obj.write_stream(data,content_type)。 –

相關問題