[ Foro de Python ]
Hola a todos:
Tengo el siguiente código:
diario=open('diario.txt', 'r')
lineas=diario.readlines ()#Tiene 9 líneas
for linea in lineas:
# Calculo la posición del primer ';'
coma1=linea.find(';')
if linea.strip()!=' ':
print('NºL:',num_lin,datetime.strptime(linea[0:coma1],'%d/%m/%y'))
num_lin+=1
else:
print('vacio',linea)
Como separador de campo en cada línea utilizo un ';'
En coma1 guardo la posición del primer ';' de la línea
Pinta los NºdeL y la línea hasta que intenta pintar la línea 9 que no existe, entonces
da error
for linea in lineas debería acabar cuando lee la última línea, ¿no?
Gracias
Pablo
¿Puede ser que tengas una línea en blanco al final del fichero y que, por tanto, no tenga ese separador?
Si te parece, "copia y pega" un fichero de datos de ejemplo para poder hacer pruebas, porque no basta con saber que "da error", sino que es importante ver el mensaje de error.
hola pepede
- si no usas with al menos cierra el archivo
- ese if no te funciona, usa la salida de find
para saber si no encontro el fin de fecha
saludos ;-)