У меня есть этот код:
import csv
from google.cloud import storage
import os
os.environ["Credientials"]
storage_client = storage.Client()
mylist = ['Row1','Row2','Row3'] # Rows I'm making for CSV file
with open('Afile.csv', 'w') as myfile:
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL) # Making CSV file
wr.writerow(mylist)
s = myfile
def upload_blob(bucket_name, source_file_name, destination_blob_name):
"""Uploads a file to the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(source_file_name)
print('File {} uploaded to {}.'.format(
source_file_name,
destination_blob_name))
upload_blob('BucketName', s ,'storage location') # Uploading the newly made CSV file to Google Cloud Storage
Когда создается новый CSV-файл (на что указывает s
), и я пытаюсь загрузить этот вновь созданный файл в хранилище Google Cloud вместо его загрузки по локальному пути к файлу. Когда я запускаю это, я получаю следующую ошибку:
TypeError: expected string or bytes-like object
Как я мог заставить это работать, чтобы я мог сделать недавно созданный файл CSV и затем загрузить его в Google Cloud Storage? Если это возможно?
Спасибо за помощь!