как загрузить данные в виртуальную машину Jupyter Notebook из облака Google? - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь загрузить кучу CSV-файлов, хранящихся в моем облаке Google, в мой блокнот jupyter.Я использую Python 3 и gsutil не работает.

Предположим, у меня есть 6 файлов .csv в '\ bucket1 \ 1'.Кто-нибудь знает, что я должен делать?

1 Ответ

1 голос
/ 24 июня 2019

Вы используете Jupyter Notebook на экземпляре виртуальной машины Google Cloud.И вы хотите загрузить в него 6 файлов .csv (которые у вас есть в вашем облачном хранилище).

Установите зависимости:

pip install google-cloud-storage
pip install pandas

Запустите следующий скрипт на вашем ноутбуке:

from google.cloud import storage
import pandas as pd

bucket_name = "my-bucket-name"

storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)

# When you have your files in a subfolder of the bucket.
my_prefix = "csv/" # the name of the subfolder
blobs = bucket.list_blobs(prefix = my_prefix, delimiter = '/')

for blob in blobs:
    if(blob.name != my_prefix): # ignoring the subfolder itself 
        file_name = blob.name.replace(my_prefix, "")
        blob.download_to_filename(file_name) # download the file to the machine
        df = pd.read_csv(file_name) # load the data
        print(df)

# When you have your files on the first level of your bucket

blobs = bucket.list_blobs()

for blob in blobs:
    file_name = blob.name
    blob.download_to_filename(file_name) # download the file to the machine
    df = pd.read_csv(file_name) # load the data
    print(df)

Примечания:

  • Pandas - это хорошая зависимость, используемая при анализе данных в python, поэтому она облегчит вам задачудля работы с CSV-файлами.

  • Код содержит 2 варианта: один, если у вас есть объекты внутри подпапки, и другой, если у вас есть объекты на первом уровне, используйте тот,это применимо к вашему случаю.

  • Код циклически перебирает все объекты, поэтому вы можете получить ошибки, если у вас там есть какие-то другие объекты.

  • Если у вас уже есть файлы на компьютере, на котором вы используете ноутбук, вы можете игнорировать строки Google Cloud Storage и просто указать корневой / относительный путь каждого файла в методе read_csv.

  • Для получения дополнительной информации о перечислении объектов Cloud Storage перейдите по сюда , а для загрузки объектов Cloud Storage перейдите по сюда .

...