如何将数据帧导出到谷歌云存储桶中的 csv

我正在尝试将 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。


牧羊人nacy
浏览 156回答 2
2回答

偶然的你

当我这样编码时,将文件从 gcloud 导入到数据框工作:from tensorflow.python.lib.io import file_iofrom pandas.compat import StringIOimport pandas as pddef 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 datamy_df = read_data('gs://mybucket/data/file.csv')但我无法逆转这个过程。然而,GCS 对我有用:import google.cloud.storage as gcsclient = 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/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python