es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo escribir la hora en un archivo CSV y volver a leerla como datetime64[ns, Europe/Berlín]?

Antes de escribir en el archivo csv, tengo la columna de tiempo como:

time datetime64[ns, Europe/Berlin]

Cuando leo df desde csv, obtengo:

time object

¿Cómo puedo escribir y leer las columnas de tiempo del mismo tipo que antes del proceso de guardado?

Antes del proceso de escritura tengo:

df = df.astype({'time':'datetime64[ns]'})
mytz = get_localzone()
df['time'] = pd.to_datetime(df['time'], unit='ms').dt.tz_localize('UTC').dt.tz_convert(mytz)

¿Cómo escribo en csv?

df.to_csv(‘test.csv’, index=False)

¿Cómo leo el csv?

df = pd.read_csv(‘test.csv’)

Y la columna de tiempo se ve así:

0 2021-09-20 00:00:00+02:00
1 2021-09-20 01:00:00+02:00

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para leer la columna de tiempo del mismo tipo que antes del proceso de guardado, puedes utilizar el siguiente código:

    df['time'] = pd.to_datetime(df['time'], utc=True).dt.tz_convert(mytz)
    df = df.astype({'time':'datetime64[ns, Europe/Berlin]'})
    

Comments are closed.