Tengo varios archivos CSV con el formato:El uso de pandas pitón para analizar CSV con la fecha en el formato año, día, hora, minuto, segundo
Year,Day,Hour,Min,Sec.,P1'S1
2003, 1, 0, 0,12.22, 0.541
2003, 1, 1, 0,20.69, 0.708
2003, 1, 2, 0, 4.95, 0.520
2003, 1, 3, 0,13.42, 0.539
...
(donde día, es el día de la año) y estoy tratando de leerlos usando la biblioteca pandas (parece una lib fantástica hasta el momento).
Hay una función incorporada para leer CSV en pandas, y aún mejor, esa función supuestamente verifica las columnas para un tipo de fecha. y automáticamente lo usa como un índice (que sería exactamente perfecto para lo que estoy haciendo).
La cuestión es que no puedo hacer que funcione con datos de fecha en este formato.
me trataron:
data = pd.read_csv("csvFile.csv", index_col=[0, 1], , index_col=[0, 1, 2, 3, 4] parse_dates=True)
pero sólo se pone el año correctamente:
In [36]: data.index
Out[36]:
MultiIndex
[(<Timestamp: 2003-09-04 00:00:00>, 1, 0, 0, 12.22)
(<Timestamp: 2003-09-04 00:00:00>, 1, 1, 0, 20.69)
(<Timestamp: 2003-09-04 00:00:00>, 1, 2, 0, 4.95) ...,
(<Timestamp: 2003-09-04 00:00:00>, 365, 21, 0, 3.77)
(<Timestamp: 2003-09-04 00:00:00>, 365, 22, 0, 14.6)
(<Timestamp: 2003-09-04 00:00:00>, 365, 23, 0, 13.36)]
De la documentación, veo que se puede especificar el "date_parser" atributo en el read_csv función de pandas. Pero la documentación no muestra cómo y no puedo resolverlo. Cualquier persona con experiencia en el tema que pueda ayudar.
Saludos, Bruno
he comprobado, y el problema es que el archivo tiene un espacio antes del "Año" de cabecera (al igual que los valores de año Por debajo de eso). Funciona perfectamente si coloco un espacio en read_csv antes del 'Año' para convertirme en 'Año'. Muy exigente, pero funciona. ¡Gracias! – jbssm