Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

561
Vistas
Frasco: descargue un archivo csv al hacer clic en un botón

Acabo de empezar con Flask/Python. Lo que quiero lograr es que tengo un botón de descarga en mi HTML y llama a la siguiente función:

 function downloadPlotCSV() { $.ajax({ url: "/getPlotCSV", type: "post", success: function(data) { dataPlot = JSON.parse(data); console.log(dataPlot); } }); }

El código del matraz incompleto es:

 @app.route('/getPlotCSV', methods = ['POST']) def plotCSV(): data = open("outputs/Adjacency.csv")

El problema al que me enfrento es que no puedo encontrar una manera de descargar este archivo csv o devolverlo como una cadena JSON para poder descargarlo usando Javascript. ¿Alguna idea de cómo puedo enviarlo como JSON o tal vez descargarlo a través de Flask? ¿Cuál es la mejor manera?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Aquí hay una forma de descargar un archivo CSV sin Javascript:

 #!/usr/bin/python from flask import Flask, Response app = Flask(__name__) @app.route("/") def hello(): return ''' <html><body> Hello. <a href="/getPlotCSV">Click me.</a> </body></html> ''' @app.route("/getPlotCSV") def getPlotCSV(): # with open("outputs/Adjacency.csv") as fp: # csv = fp.read() csv = '1,2,3\n4,5,6\n' return Response( csv, mimetype="text/csv", headers={"Content-disposition": "attachment; filename=myplot.csv"}) app.run(debug=True)
over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar flask.send_file() para enviar un archivo estático:

 from flask import send_file @app.route('/getPlotCSV') # this is a job for GET, not POST def plot_csv(): return send_file('outputs/Adjacency.csv', mimetype='text/csv', attachment_filename='Adjacency.csv', as_attachment=True)
over 4 years ago · Santiago Trujillo Denunciar

0

En primer lugar, debe importar desde el matraz make_response , que generará su respuesta y creará una variable, algo así como response . En segundo lugar, haga response.content_type = "text/csv" En tercer lugar, devuelva su respuesta.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda