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.

¿Forma más rápida de iterar sobre un dataframe?

Tengo un dataframe en donde cada fila es un registro y necesito enviar cada registro en el cuerpo de una solicitud POST. Actualmente estoy iterando a través del dataframe para lograr esto. Estoy limitado por el hecho de que cada registro debe ser enviado de forma individual. ¿Existe una forma más rápida de lograr esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma más rápida de realizar esta tarea. En lugar de recorrer el dataframe y enviar cada registro individualmente, puedes utilizar el método to_json de pandas para convertir el dataframe en una cadena json, luego enviar la cadena json completa en una única solicitud POST. Esto reducirá significativamente el número de solicitudes necesarias para enviar todos los registros.

    Aquí tienes un ejemplo de código para realizar esto:

    import requests
    import pandas as pd 
    
    # cargar los datos en un dataframe 
    df = pd.read_csv('data.csv')
    
    # convertir el dataframe en una cadena json 
    json_string = df.to_json(orient='records')
    
    # enviar la solicitud POST con la cadena json en el cuerpo 
    response = requests.post('https://example.com/api/data', json=json_string)
    
    # comprobar el código de estado de la respuesta 
    if response.status_code == 200:
        print('Los datos se enviaron correctamente')
    

    Ten en cuenta que el parámetro orient se establece en 'records' en el método to_json, lo cual formateará la cadena json resultante como una lista de registros. Si tu punto final espera un formato json diferente, puedes ajustar el parámetro orient en consecuencia.

    Utilizar este método puede mejorar significativamente la velocidad y eficiencia de enviar datos a través de solicitudes POST.

Comments are closed.