[ Foro de Python ]

de .csv a .html

10-Dec-2017 10:38
Invitado (J)
1 Respuestas

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


26-Dec-2017 10:13
Nacho Cabanes (+83)

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.)