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.

Problema al intentar escribir elementos de mysql en archivo de texto.

archivo = open("ArchivoDeTextoBasico.txt", "w")

consulta = "SELECT nombre, cantidad, descripcion FROM clientes_pagos GROUP BY cliente_VAT"
mycursor.execute(consulta)
for fila in mycursor:
    archivo.write(f"{fila[0]}\t{fila[1]}\t\t{fila[2]}")
    archivo.write("\n")

archivo.close()

os.system("notepad.exe ArchivoDeTextoBasico.txt")

Este es mi código. Está obteniendo información de una tabla en MySQL y luego la está escribiendo en un archivo. Pero el resultado que estoy obteniendo es algo así:

James   50.00            Hola
Nick            25.00

El resultado que quiero obtener es algo así:

James    50.00    Hola
Nick     25.00
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para alinear las columnas del archivo de texto, puedes usar el formateo de cadenas en Python.

    Reemplaza la línea file.write(f"{row[0]}\t{row[1]}\t\t{row[2]}") con el siguiente código:

    file.write(f"{row[0]:<10} {row[1]:<10} {row[2]}\n")
    

    Esto alineará a la izquierda las dos primeras columnas con un ancho de 10 caracteres, y la tercera columna quedará como está. Puedes ajustar el ancho según tus necesidades. Además, ten en cuenta que hemos agregado un carácter de nueva línea (\n) después de cada fila para asegurarnos de que cada fila esté en una línea separada en el archivo de texto.

Comments are closed.