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

182
Vistas
Forma correcta de pasar/leer JSON derivado de CSV con Flask/Javascript

Entonces, lo que estoy tratando de hacer eventualmente es leer un CSV en el backend usando Python/Flask y mostrarlo como una tabla HTML usando Javascript.

He reducido las cosas a solo tratar de obtener console.log() para mostrar los valores JSON que se pasan desde mi rutina de Python. Una vez que pueda recuperar mis valores JSON a voluntad, construir la tabla no debería ser un problema.

Aquí está mi código ahora mismo:

__init__.py

 from flask import Flask, render_template import json import csv app = Flask(__name__) filePath = "/protec/test.csv" @app.route("/") def index(): tableData = get_table_data() return render_template("index.html", tableData=tableData) def get_table_data(): tableData = [] with open(filePath, encoding='utf-8') as file: csvReader = csv.DictReader(file) for row in csvReader: tableData.append(row) with open(filePath, 'r', encoding='utf-8') as jsonf: tableString = json.dumps(tableData, indent=4) return tableString if __name__ == "__main__": app.run()

parte del script de index.html que (por ahora) se activa a través de onpageshow

 <script> function build_table() { var parsedData = ' {{ tableData }} '; console.log(parsedData); } </script>

mi archivo test.csv muy simple

 first,last,age,hair john,doe,29,brown jane,doent,30,blond

Desde Python, intenté devolver tanto tableData como tableString. Cuando devuelvo tableString, aparece un error cuando inspecciono en el navegador.

 Uncaught SyntaxError: Invalid or unexpected token

Cuando devuelvo tableData, obtengo... algo... en la consola, pero no es realmente JSON y tiene algunos valores extraños que (creo) representan comillas.

 [{&#39;first&#39;: &#39;john&#39;, &#39;last&#39;: &#39;doe&#39;, &#39;age&#39;: &#39;29&#39;, &#39;hair&#39;: &#39;brown&#39;}, {&#39;first&#39;: &#39;jane&#39;, &#39;last&#39;: &#39;doent&#39;, &#39;age&#39;: &#39;30&#39;, &#39;hair&#39;: &#39;blond&#39;}]

Soy nuevo en el desarrollo web y los marcos y parece que no pude encontrar un ejemplo que pasara más de un registro JSON a la vez. Cualquier ayuda es apreciada.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Para lograr su objetivo, solo necesita pasar su lista tableData a la plantilla.

 from flask import Flask, render_template import json import csv app = Flask(__name__) filePath = '/protec/test.csv' @app.route("/") def index(): tableData = get_table_data() return render_template('index.html', tableData=tableData) def get_table_data(): tableData = [] with open(filePath, encoding='utf-8') as file: csvReader = csv.DictReader(file) tableData = [row for row in csvReader] return tableData

Dentro de la plantilla, puede usar el filtro tojson para convertir los datos a un formato compatible con JSON. Ahora obtiene una variedad de objetos que puede procesar con JavaScript.

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> (function build_table() { var data = {{ tableData | tojson }}; console.log(data); })(); </script> </body> </html>
about 4 years ago · Santiago Gelvez 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