2017-08-21 4 views
0

は私が分析GoogleクラウドストレージからDatalabにCSVファイルを読み、パンダは

私は成功せず、次の手順に従ってください持っているためにデータフレームにGSで保存したCSVファイルを読み込むしようとしていますDATAFRAMEに変換

mybucket = storage.Bucket('bucket-name') 
data_csv = mybucket.object('data.csv') 
df = pd.read_csv(data_csv) 
pd.read_csv によって期待されるよう

これはdata_csvので、動作しませんが、パスではありませんまた、私は分析のための私のファイルを読むことができますどのように

%%gcs read --object $data_csv --variable data 
#result: %gcs: error: unrecognized arguments: Cloud Storage Object gs://path/to/file.csv 

を試してみましたこの?あなただけの実際のパスを取得するには、オブジェクトのuriプロパティを使用する必要が

おかげ

答えて

0

%% gcsはbytesオブジェクトを返します。 >「」あなたのcsvファイルは、< 9月を=指定する必要カンマで区切られていない場合、それは(のpython 3)10から

mybucket = storage.Bucket('bucket-name') 
data_csv = mybucket.object('data.csv') 

%%gcs read --object $data_csv --variable data 

df = pd.read_csv(BytesIO(data_csv), sep = ';') 

をBytesIOを使う読むにはIOライブラリと、ここでのパッケージについての詳細を読むデフォルト あります:Core tools for working with streams

0

:パンダは、データがであることを期待するので

uri = data_csv.uri 
%%gcs read --object $uri --variable data 

あなたのコードの最初の部分は動作しません。ローカルファイルシステムですが、クラウドにあるGCSバケットを使用しています。

+0

​​をパンダで読むための完全なコードを入力することはできますか?私はまだエラーが発生しています:? "OSError:期待されるファイルパス名またはファイルのようなオブジェクト、 bytes '> type" ありがとう – irkinosor

関連する問題