jueves, 4 de octubre de 2018

Unidad 3: Manejo de archivos csv

Manejo de archivos csv


Archivo csv:

Los archivos CSV son un tipo de documento en formato abierto sencillo 

para representar datos en forma de tabla, en las que las columnas se separan por comas y las filas por saltos de línea.

Un archivo CSV (valores separados por comas) permite que los datos sean guardados en una estructura tabular con una extensión .csv. Los archivos CSV han usados de manera extensiva en aplicaciones de comercio electrónico porque son considerados muy fáciles de procesar. Algunas de las áreas en donde han sido usados incluyen:


  • importar y exportar datos de clientes
  • importar y exportar productos
  • exportar órdenes
  • exportar reportes analíticos de comercio electrónico




Crear un archivo con File










#


print 'MENU\n\n 1).- Capturar nuevo registro\n 2).- Mostrar archos (registros)\n 3).- Eliminar registros\n '

opcion = raw_input('Elige la opcion: ')

if opcion == '1':
    print 'Nuevo Registro\n'
    archivo = open('ejemplo2.csv','a')
    nombre = raw_input('Dame nombre: ')
    apellido = raw_input('Dame apellido: ')
    print 'Se ha capturado: '+ nombre +' , con el apellido: ' + apellido
    archivo.write(nombre)
    archivo.write(',')
    archivo.write(apellido)
    archivo.write('\n')
    archivo.write(',')
    archivo.write('\n')
    #archivo.write(nombre + ',' + apellido + '\n')
    archivo.close()

elif opcion == '2':
    print 'Mostrar Registro: \n'
    archivo = open('ejemplo2.csv')
    print (archivo.read())
    archivo.close()


elif opcion == '3':
    archivo = open('ejemplo.csv', 'a')
    archivo.truncate()
    print 'Registros Eliminados'
    archivo.close()













Modificado(Interfaz gráfica)

import sys
from Tkinter import *

# suma funcion

def sumafuncion():
    valor1 = int(entrada1.get())
    valor2 = int(entrada2.get())
    sumas = str(valor1 + valor2)
    Wonder = Label(ventana, text='el resultado es:' + sumas, fill="blue", font=("agency fb", 14)).place(x=40, y=150)

# funcion introducir datos

def introducirdatos():
    archivo = open('ejemplo1.csv', 'a')
    nombre = entrada1.get()
    apellido = entrada2.get()
    archivo.write(nombre + ',' + apellido + '\n')
    anadir = Label(ventana, text='se ha introducido el nombre ' + nombre + ' con el apellido : ' + apellido,
                   background="green", font=("agency fb", 14)).place(x=100, y=200)

def mostrardatos():
    archivo = open('ejemplo1.csv')
    add = Label(ventana, text='mostrar registros \n' + archivo.read(), background="blue", font=("agency fb", 14)).place(
        x=100, y=200)
    archivo.close()

def eliminardatos():
    archivo = open('ejemplo1.csv', 'a')
    archivo.truncate()
    elminar = Label(ventana, text='Los archivos existentes han sido eliminados', background="red",
                    font=("agency fb", 14)).place(x=100, y=200)
    archivo.close()

def Limpiaretiquetas():
    anadir.config(text='')
    add.config(text='')
    eliminar.config(text='')

# ventana
ventana = Tk()#creando la ventana de la aplicacion con objeto TK
ventana.geometry("500x300+100+100")#Ancho y alto en pixeles
ventana.title('Manipulador de texto')#Titulo del objeto ventana

# labels y texttfield para introducir nombre
label1 = Label(text="Nombre").place(x=10, y=10)
entrada1 = StringVar()#Declarando un variable para el TexField
txtuser1 = Entry(ventana, textvariable=entrada1).place(x=70, y=20)

# para el apellido label y textfielda
label1 = Label(text="Apellido", font=("agency fb", 14)).place(x=10, y=40)
entrada2 = StringVar()
txtuser2 = Entry(ventana, textvariable=entrada2).place(x=70, y=50)

# boton para agregar nuevos
Agregar = Button(ventana, text='registrar datos', command=introducirdatos).place(x=50, y=100)

# boton para mostrar registros:
mostrar = Button(ventana, text='mostrar datos', command=mostrardatos).place(x=150, y=100)
# boton para eliminar registros:
Borrar = Button(ventana, text='Borrar registros', command=eliminardatos).place(x=250, y=100)
# boton para limpiar labels:
limpiar = Button(ventana, text='limpiar label', command=Limpiaretiquetas).place(x=350, y=100)

anadir = Label(ventana, text='')
add = Label(ventana, text='')
eliminar = Label(ventana, text='')

# la suma que hizo posible todo esto :)
# suma=Button(ventana,text='calcular suma',command=sumafuncion).place(x=40, y=100)

ventana.mainloop()



Ejecución:







Modificado uso de Colorama


import time
from colorama import Fore, Style
 
 
opc = 1
while opc != 4:
    print (Fore.CYAN+"\t\tMENU\n\n1.- Capturar nuevo registro\n2.- Mostrar registros\n3.- Eliminar registro\n4.- Salir"+Style.RESET_ALL)
    opcion = raw_input("Elige la opcion:\n")
 
    if opcion == "1":
        op = "si"
        x = 0
        while op != "no":
            rc = "no"
            while rc != "si":
                print (Fore.BLUE+"\t\tNUEVO REGISTRO\n"+Style.RESET_ALL)
                archivo = open("Ejemplo.csv","a")
                nombre = raw_input("Ingresa un nombre:\n")
                apellido = raw_input("Ingresa un apellido\n")
                print (Fore.BLUE+"\t\tEL REGISTRO INGRESADO ES : "+nombre+" "+apellido+"\n\t\tES CORRECTO? si/no\n"+Style.RESET_ALL)
                rc = raw_input()
                while x != 1:
                    if rc != "si" and rc != "no":
                        print (Fore.RED+"\t\tINGRESE UNA RESPUESTA CORRECTA si/no\n"+Style.RESET_ALL)
                        rc = raw_input()
                    else:
                        x = 1
                if rc == "si":
                    rc = "si"
                else:
                    rc = "no"
 
            print (Fore.RED+"\t\tSE A CAPTURADO EL REGISTRO : "+Style.RESET_ALL + nombre + " " + apellido)
            archivo.write(nombre+","+apellido+"\n")
            print (Fore.BLUE+"\t\tREQUIERE INGRESAR OTRO REGISTRO? si/no"+Style.RESET_ALL)
            op = raw_input()
 
    elif opcion == "2":
        print (Fore.GREEN+"\t\tMOSTRAR REGISTROS\n"+Style.RESET_ALL)
        archivo = open("Ejemplo.csv")
        r = archivo.read()
        if r == "":
            print (Fore.RED+"\t\tEL ARCHIVO ESTA VACIO\n\n")
            archivo.close()
            time.sleep(3)
        else:
            print "Cargando.."
            time.sleep(2)
            print (Fore.GREEN+"Carga lista:"+Style.RESET_ALL)
            print r
            archivo.close()
            time.sleep(3)
 
    elif opcion == "3":
        print Fore.RED+"\t\tBORRAR\n"
        archivo = open("Ejemplo.csv", "a")
        a = open("Ejemplo.csv")
        r = a.read()
        if r =="":
            print ("\t\tEL ARCHIVO ESTA VACIO\n\n")
            archivo.close()
            time.sleep(3)
        else:
            archivo.truncate()
            print (Fore.RED+"\t\tLOS REGISTROS HAN SIDO BORRADOS\n"+Style.RESET_ALL)
            archivo.close()
            time.sleep(3)
 
    elif opcion == "4":
        print (Fore.RED+"\t\tSALIR DEL PROGRAMA")
        print ("\t\tADIOS"+Style.RESET_ALL)
        opc = 4










No hay comentarios:

Publicar un comentario