Convertidor de .csv to .qif (Python)

Para las transacciones que bajen de su banco, pueden utilizar python para convertir el archivo descargado .csv a.qif para poder importar en Quicken. Probado en Win10, Quicken 2020 R30.14, Python 3.8.6

Se tiene que modificar archivo datos.csv como ejemplo. Guardar en C:\python38\, que es ruta predefinida de instalación de python. Pueden guardar como datos.csv u otro nombre que pueden cambiar luego en línea código de programa*.

Date,Payee,Description,Type,Amount
09/18/2020,BANCONAL,IBMS por Comision ,DEBIT,-0.03
09/30/2020,BANCONAL,INTERESES,CREDIT,6.26

Archivo en python lo pueden guardar igual en C:\python38\ con el nombre de convertidor.py. Código

#!/usr/bin/python
# Very simple converter from .csv files to .qif
# Date,Payee,Description,Type,Amount

import csv, sys

csvimport = sys.argv[1]


# Leer con DictReader y escribir datos en otro csv si se 
# cumple condición.

with open(csvimport) as csvarchivo:
    entrada = csv.reader(csvarchivo)
	
    csvsalida = open('salida.qif', 'w', newline='')
    salida = csv.writer(csvsalida, delimiter=',')
    salida.writerow(['!Type:Bank']) # Inicio
	
    next(entrada)
	
    for reg in entrada:
        if reg[3] != 'CREDIT':
            salida.writerow(['D'+reg[0]])
            salida.writerow(['U'+reg[4]])
            salida.writerow(['T'+reg[4]])
            salida.writerow(['NRET'])
            salida.writerow(['M'+reg[2]])
            salida.writerow(['P'+reg[1]])
            salida.writerow(['^'])
                     # Escribir registro
        else:
            salida.writerow(['D'+reg[0]])
            salida.writerow(['U'+reg[4]])
            salida.writerow(['T'+reg[4]])
            salida.writerow(['NRET'])
            salida.writerow(['M'+reg[2]])
            salida.writerow(['P'+reg[1]])
            salida.writerow(['^'])
                     # Escribir registro
  
    print('El proceso de escritura ha terminado.')

del entrada, salida, reg
csvsalida.close()
del csvsalida

Para probar programa, ir a Command Prompt, escribir C:\python38\ ENTER

*Luego siguiente línea: convertidor.py datos.csv

Debe aparecer mensaje “El proceso de escritura ha terminado.”, revisar en carpeta C:\python38\, si archivo salida.qif, fue generado y en Quicken o cualquier otra app de finanzas probar importación. Formato de fecha en .qif es M/D/Y.


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *