【问题标题】:Pandas Dataframe to Cloud Storage BucketPandas Dataframe 到云存储桶
【发布时间】:2020-01-16 07:43:21
【问题描述】:

我正在尝试从 MySQL 数据库中转储表并将其上传到存储桶。

我处理了连接,选择了表格并将其转换为 Pandas 数据框。

所以,我想将此 df 上传到 Cloud Storage。我确实在 Cloud Functions 环境中阅读了有关 /tmp 的信息,但我需要先将其写入磁盘才能发送到 GCS?不保存本地可以直接上传到bucket吗?

import mysql.connector
import pandas as pd
from google.cloud import storage

mydb = mysql.connector.connect(
    host="host", user="user", passwd="passwd", database="database")

mycursor = mydb.cursor(named_tuple=True)
mycursor.execute("SELECT * FROM table")
myresult = mycursor.fetchall()

df = pd.DataFrame(data=myresult)

storage_client = storage.Client()
bucket = storage_client.get_bucket("my-bucket")
blob = bucket.blob("file.csv")

在我的笔记本电脑上进行测试,我执行以下操作:

df.to_csv("file.csv")
blob.upload_from_filename("file.csv")

它有效,但似乎不是 Cloud Functions 上的最佳方式。

【问题讨论】:

    标签: python pandas google-cloud-functions google-cloud-storage


    【解决方案1】:

    我就是这样解决的。

    df = pd.DataFrame(data=myresult).to_csv(sep=";", index=False, quotechar='"', quoting=csv.QUOTE_ALL, encoding="UTF-8")
    blob.upload_from_string(data=df)
    

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2021-09-18
      • 2021-03-19
      • 2015-03-01
      • 2018-06-22
      • 2016-12-16
      • 2017-01-29
      • 2016-01-31
      • 2019-08-24
      相关资源
      最近更新 更多