![](/img/trans.png)
[英]How to upload a dataframe to Google Cloud Storage(bucket) on Python 3?
[英]How to export dataframe to csv in bucket on google cloud
我正在尝试将 Pandas 数据帧导出到我的谷歌云存储存储桶中的 csv 文件,但以下代码显然对我不起作用:
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。
当我这样编码时,将文件从 gcloud 导入到数据框工作:
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'))
您可以将 csv 文件保存在 VM 中,然后使用gsutil
将其保存在存储桶中。
Python:
my_df.to_csv("data.csv")
贝壳:
gsutil data.csv gs://my_bucket/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.