Невозможно записать xlsx в GCS из pandas - PullRequest
0 голосов
/ 05 мая 2020

У меня странная проблема.

Я запускаю задание K8S из воздушного потока в качестве конвейера данных. В конце мне нужно записать фрейм данных в Google Cloud Storage в виде файлов .parquet и .xlsx.

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

Все в порядке с файлом parquet, но у меня ошибка xlsx.

серьезность: «ИНФОРМАЦИЯ»
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 голосов
/ 07 мая 2020

По запросу я передаю несколько кодов, как я создал новый файл xlsx, используя непосредственно gcs python3 api. Я использовал этот учебник и этот справочник по API :

# 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)

Надеюсь, это поможет!

...