[ Foro de Python ]
ola a todos,
Tengo que crear un programa, pero no sé como empezar...La idea es la siguiente.
- Tengo un archivo .csv en el ordenador con unos datos y necesito que python abra ese archivo , y me imprima los datos en la pantalla en una tabla. El archivo tiene que ser a elección del usuario.
- Necesito que cuando pida el nombre del archivo, si ese archivo no se encuentra me alerte de algún tipo de error. Tipo "el archivo no existe o algo así".
- Finalmente necesito que los datos del archivo .csv impresos en pantalla me los transforme en un fichero .html.
Esto más perdido que un pulpo en un garaje...no se ni por donde empezar.
Un saludo
De momento he creado lo siguiente
print (" De .CSV a .HTML ")
print (" ")
try:
nombre_csv = raw_input ("Introduzca el nombre del archivo que desea abrir: ") #El usuario decide el archivo que importa
archivo_csv= open((nombre_csv+'.csv')) #Python abre el archivo seleccionado por el usuario
contenido = archivo_csv.read () #Leyendo el archivo .csv
print 'Nombre ''Apellido1 ' 'Apellido2 ' 'mail '
print contenido #Imprime el contenido del archivo en pantalla
print raw_input ('Si los datos son correctos pulse enter para continuar')
nombre_html = raw_input ("Introduzca el nombre del archivo para guardar los datos en formato .html:")
archivo_html = open ((nombre_html+'.html'),"w")
except IOError:
print 'El archivo', (nombre_csv), 'no existe'
¿Está bien creado? ¿Qué otras alternativas puedo explorar?
En mi script todavía quedaría exportarlo a una tabla de .html pero no llego a como lo puedo hacer.
Un saludo
De momento no va mal, aunque hay algunas inconsistencias, como que en ocasiones empleas "print" con paréntesis (al estilo de Python 3) y otras veces sin paréntesis (como en Python 2) y anteriores. La aproximación más sencilla para pasar de un CSV a un HTML es usar "split" para partir cada línea de entrada donde haya una coma:
fragmentos = linea.split(?,?)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)