Как экспортировать dataframe в csv в корзину на облаке Google - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь экспортировать фрейм данных pandas в csv-файл в корзине в моем облачном хранилище Google, но следующий код, очевидно, не работает для меня:

my_df.to_csv(StringIO(file_io.FileIO('gs://mybucket/data/file.csv', mode='w+')))

Как это должно бытьпереписан?Я получаю следующую ошибку:

unbound method write() must be called within FileIO instance as first argument (got nothing instead)

Извиняюсь, если ответ очевиден, но я только начинаю изучать Python.

1 Ответ

0 голосов
/ 28 марта 2019

Импорт файла из gcloud в dataframe работает, когда я кодирую таким образом:

from tensorflow.python.lib.io import file_io
from pandas.compat import StringIO
import pandas as pd

def read_data(gcs_path):
   file_stream = file_io.FileIO(gcs_path, mode='r')
   data = pd.read_csv(StringIO(file_stream.read()), names=['various', 'column', 'names'])
   return data

my_df = read_data('gs://mybucket/data/file.csv')

Но я не смог повернуть процесс вспять.

GCS работал для меня, однако:

import google.cloud.storage as gcs

client = gcs.Client()
bucket = client.bucket('my-bucket')
blobs = list(bucket.list_blobs(prefix='data/'))

my_df.to_csv('tmp.csv')
local_tmp_path = ('tmp.csv')
target_blob = bucket.blob('data/file.csv')
target_blob.upload_from_file(open(local_tmp_path, 'r'))
...