es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Accediendo y utilizando un archivo CSV desde el almacenamiento en la nube en una instancia de ejecución en la nube.

Sé cómo descargar el archivo desde el almacenamiento en la nube dentro de la instancia de Cloud Run. Pero no puedo encontrar la sintaxis para leer el archivo en python. Estoy buscando convertir inmediatamente el archivo CSV en un dataframe de pandas, solo usando pd.read_csv('testing.csv'). Entonces mi código personal se ve así,
download_blob(bucket_name, source_blob_name, 'testing.csv&##39;). ¿No debería poder hacer pd.read_csv('testing.csv') dentro de la instancia de Cloud Run? Al hacerlo de esta manera, siempre obtengo un error de servidor interno al cargar la página. Parece una pregunta sencilla, pero no he podido encontrar un ejemplo en ninguna parte. Todo solo descarga el archivo, nunca lo veo utilizado.

“`from google.cloud import storage

def download_blob(bucket<em>_name, source_blob_name, destination_file_name):
"""Descarga un blob del bucket."""
# El ID de tu bucket de GCS
# bucket_name = "nombre-de-tu-bucket"</em>

<pre><code># El ID de tu objeto de GCS

<h1>source_blob_name = "nombre-de-objeto-de-almacenamiento"</h1>

<h1>La ruta donde debería descargarse el archivo</h1>

<h1>destination_file_name = "ruta/local/del/archivo"</h1>

storage_client = storage.Client()

bucket = storage_client.bucket(bucket_name)

<h1>Construye una representación del lado del cliente de un blob</h1>

<h1>Ten en cuenta que <code>Bucket.blob</code> se diferencia de <code>Bucket.get_blob</code> ya que no recupera</h1>

<h1>ningún contenido de Google Cloud Storage. Como no necesitamos datos adicionales,</h1>

<h1>usar <code>Bucket.blob</code> es preferible aquí.</h1>

blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)

print(
"Se descargó el objeto de almacenamiento {} del bucket {} al archivo local {}.".format(
source_blob_name, bucket_name, destination_file_name
)
)
</code></pre>

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para leer el archivo csv descargado en Python, debe utilizar la ruta de archivo en la que descargó el archivo, la cual está especificada en el parámetro destination_file_name pasado a la función download_blob.

    Entonces, en su caso, después de descargar el archivo csv usando download_blob, simplemente puede hacer lo siguiente:

    import pandas as pd
    
    # Descarga el archivo csv
    download_blob(bucket_name, source_blob_name, 'testing.csv')
    
    # Convierte el csv en un dataframe de pandas
    df = pd.read_csv('testing.csv')
    

    Asegúrese de que ‘testing.csv’ sea el nombre correcto del archivo y que esté guardado en la ruta correcta. Si está recibiendo un error interno del servidor, puede haber algún otro problema que necesite investigar.

Comments are closed.