2016-06-23 36 views
3

這裏是我的嘗試: (IPython的筆記本,採用python2.7)如何將我的csv從google dataLab加載到熊貓數據框中?

import gcp 
import gcp.storage as storage 
import gcp.bigquery as bq 
import matplotlib.pyplot as plt 
import pandas as pd 
import numpy as np 

sample_bucket_name = gcp.Context.default().project_id + '-datalab' 
sample_bucket_path = 'gs://' + sample_bucket_name 
sample_bucket_object = sample_bucket_path + '/myFile.csv' 
sample_bucket = storage.Bucket(sample_bucket_name) 
df = bq.Query(sample_bucket_object).to_dataframe() 

哪些失敗。
你會有什麼導致我做錯了什麼?

回答

3

除了@天才的大約%GCS的意見,我得到了以下爲Python 3的工作內核:

import pandas as pd 
    from io import BytesIO 

    %gcs read --object "gs://[BUCKET ID]/[FILE].csv" --variable csv_as_bytes 

    df = pd.read_csv(BytesIO(csv_as_bytes)) 
    df.head() 
8

基於datalab source codebq.Query()主要用於執行BigQuery SQL查詢。在從Google Cloud Storage(GCS)中讀取文件方面,一種可能的解決方案是使用datalab %gcs行魔術函數將GCS中的csv讀取爲本地變量。將數據存入變量後,可以使用pd.read_csv()函數將csv格式的數據轉換爲pandas DataFrame。下面應該工作:

import pandas as pd 
from StringIO import StringIO 

# Read csv file from GCS into a variable 
%gcs read --object gs://cloud-datalab-samples/cars.csv --variable cars 

# Store in a pandas dataframe 
df = pd.read_csv(StringIO(cars)) 

還有一個在下面的鏈接相關計算器問題: Reading in a file with Google datalab

+0

Datalab現在使用%gcs代替%存儲。 – Flair

+0

謝謝@Flair!我已更新我的答案以使用%gcs –