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()
Referencia: https://code.tutsplus.com/es/tutorials/how-to-read-and-write-csv-files-in-python--cms-29907
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