无法从熊猫将xlsx写入GCS

时间:2020-05-05 01:50:30

标签: python excel pandas google-cloud-storage

我有一个奇怪的问题。

我从气流触发K8S作业作为数据管道。最后,我需要将数据帧作为.parquet.xlsx文件写入Google云端存储。

[...]
export_app.to_parquet(f"{output_path}.parquet")
export_app.to_excel(f"{output_path}.xlsx")

镶木地板文件一切正常,但xlsx却出现错误。

严重性:“ INFO”
textPayload:“ [Errno 2]没有这样的文件或目录:'gs://my_bucket/incidents/prediction/2020-04-29_incidents_result.xlsx'

我尝试将文件写为csv尝试

export_app.to_parquet(f"{output_path}.parquet")
export_app.to_csv(f"{output_path}.csv")
export_app.to_excel(f"{output_path}.xlsx")

我每次都收到相同的消息,并且按预期找到了另一个文件。

写入xlsx文件有任何限制吗?

我的环境中安装了软件包openpyxl

1 个答案:

答案 0 :(得分:0)

根据要求,我正在传递一些代码,以了解如何直接使用gcs python3 api创建新的xlsx文件。我使用了this教程和此api reference

# Imports the Google Cloud client library
from google.cloud import storage

# Instantiates a client
storage_client = storage.Client()

# Create the bucket object
bucket = storage_client.get_bucket("my-new-bucket")

#Confirm bucket connected
print("Bucket {} connected.".format(bucket.name))

#Create file in the bucket
blob = bucket.blob('test.xlsx')
with open("/home/vitooh/test.xlsx", "rb") as my_file:
    blob.upload_from_file(my_file)

我希望它将对您有帮助!