encabezados en español

parent efa22ece
...@@ -484,13 +484,32 @@ def apiDownloadNews(request): ...@@ -484,13 +484,32 @@ def apiDownloadNews(request):
if request.GET['format'] == "CSV": if request.GET['format'] == "CSV":
csvString = StringIO() csvString = StringIO()
# Definir los nombres de las columnas en español
spanish_headers = {
'date': 'fecha',
'publisher': 'fuente',
'title': 'titulo',
'text': 'noticia',
'url': 'enlace'
}
# Obtener los nombres de las columnas del primer elemento (si existe) # Obtener los nombres de las columnas del primer elemento (si existe)
fieldnames = data[0].keys() if data else [] if data:
# Mapear los nombres de las columnas originales a español
fieldnames = [spanish_headers.get(key, key) for key in data[0].keys()]
writer = csv.DictWriter(csvString, fieldnames=fieldnames, quoting=csv.QUOTE_ALL) writer = csv.DictWriter(csvString, fieldnames=fieldnames, quoting=csv.QUOTE_ALL)
writer.writeheader() # Escribir los encabezados writer.writeheader() # Escribir los encabezados
for d in data: for d in data:
writer.writerow(d) # Renombrar las claves del diccionario a español
translated_row = {spanish_headers.get(k, k): v for k, v in d.items()}
writer.writerow(translated_row)
else:
# Si no hay datos, usar los encabezados en español directamente
writer = csv.DictWriter(csvString, fieldnames=spanish_headers.values(), quoting=csv.QUOTE_ALL)
writer.writeheader()
zf.writestr("data.csv", csvString.getvalue()) zf.writestr("data.csv", csvString.getvalue())
zf.close() zf.close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment