Matlab - Leer archivo de fecha-hora y generar fichero formato fechas YYYYMMDD H:MM

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 19 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Leer archivo de fecha-hora y generar fichero formato fechas YYYYMMDD H:MM

Publicado por Jorge (5 intervenciones) el 16/11/2017 14:22:40
Hola, tengo el siguiente drama, tengo que leer un archivo .TXT generado desde una BD, que entrega, en una misma columna, la fecha en formato DD-MM y en la siguiente linea, datos cada 1 hora desde las 00:50 a las 23:50 hasta el siguiente dia. Estoy hace poco tiempo programando en Matlab y me faltan experiencia por adquirir

Me explico, el archivo viene asi, en una misma linea

16-09 (Dia)
0:50
1:50
.
.
23:50
17:09 (dia sgte), etc

Debo generar un archivo de salida con el siguiente formato, asumiendo que año es 2017, que lo asigno previamente

20170916 00:50 + "Datos"
20170916 01:50 + "Datos"
.
.
20170916 23:50 + "Datos"
20170917 + "Datos"
etc

Estuve intentando con ImportData y tratando de separar la lectura cuando el digito sea "-" para el dia y ":" hora pero la verdad es que se me ha complicado,
Estos son algunas de las lineas del algoritmo que cree.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
for i=2: length(fechahora)
    A=fechahora(i);v=0;
    v=strfind(A,'-');
    x=datevec(fechahora(i));
    if v{1} == 3 % el digito "-" va en la 3ra posicion
 
        v_ano=ano_ini; %(se asigna previamente)
        v_mes=x(:,2);v_dia=x(:,3);
 
        if v_mes(i) == 12 && v_dia(i) == 31
            ano_ini = ano_ini + 1;
        end
 
    else
 
       e=strfind(A,':'); % Busca la hora
       if e{1} == 2
          v_hora=x(:,1);v_min=x(:,3);
       elseif e{1} == 3
           v_hora=x(:,2);v_min=x(:,4);
       end
end

En el caso del Datevec puedo estar utilizandolo incorrectamente.

Por eso acudo a ustedes, amigos.
Muchas gracias por su ayuda
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder