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.

Cambiando el formato de fecha en el marco de datos leído.

Los datos actuales en la hoja de cálculo son los siguientes. He eliminado otras columnas para ahorrar espacio.

EndTime
7/15/2020 9:34:03 AM
8/5/2020 3:19:10 PM
8/10/2020 9:52:58 AM
8/17/2020 8:07:14 PM
9/8/2020 6:11:52 AM

Leyendo la hoja de cálculo “File_Name” de la hoja “Report”

readSheet<-readexcel(“FileName”, “Report”)

Cuando hago head(readSheet), obtengo lo siguiente con otras columnas que se eliminan aquí.

EndTime
\
44027.39795~
44023.34152~
44045.35236~
44053.44812~

Cuando cambio el formato de la columna de Fecha a Genérico en la hoja de cálculo, obtengo los mismos valores que se mencionaron anteriormente. También he utilizado los colnames y coltypes para la columna mencionada anteriormente como “fecha” pero no ha ayudado. He intentado as.Date(), convertToDate(), anydate() y otras funciones para cambiar el formato de la fecha en el dataframe, pero no pude convertir el formato en el dataframe leído.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en fechas, dplyr, format, character y as.date, el problema que estás enfrentando está relacionado con el formato de la columna de fecha en la hoja de cálculo de Excel de entrada. Actualmente, la columna se interpreta como una cadena (chr) en lugar de una fecha.

    Para convertir la columna de fecha al formato deseado, puedes utilizar la función as.POSIXct() de R. Aquí te muestro cómo hacerlo:

    library(dplyr)
    
    # Leyendo la hoja de cálculo de Excel en un data frame
    readSheet <- read_excel("Nombre_Archivo", "Informe") %>%
      # Convirtiendo la columna EndTime al formato deseado
      mutate(EndTime = as.POSIXct(EndTime, format = "%m/%d/%Y %I:%M:%S %p"))
    
    # Imprimiendo la cabecera del data frame para verificar las columnas convertidas
    head(readSheet)
    

    Esto debería darte el resultado deseado con la columna EndTime en el formato POSIXct. Puedes formatear y manipular aún más la columna de fecha utilizando varias funciones disponibles en la librería lubridate u otras funciones de fecha y tiempo en R.

Comments are closed.