[英]Write a Pandas DataFrame to Google Cloud Storage or BigQuery
[英]Pandas Dataframe to Cloud Storage Bucket
我正在尝试从MySQL数据库转储表并将其上传到存储桶。
我处理了连接,选择了表并将其转换为Pandas Dataframe。
因此,我想将此df上传到Cloud Storage。 我确实读过关于Cloud Functions环境的/ tmp ,但是我需要先在磁盘上写它,然后才能发送到GCS? 是否可以将其直接上传到存储桶中而不在本地保存?
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的最佳方法。
我以这种方式解决了。
df = pd.DataFrame(data=myresult).to_csv(sep=";", index=False, quotechar='"', quoting=csv.QUOTE_ALL, encoding="UTF-8")
blob.upload_from_string(data=df)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.