J'ai un problème lorsque j'essaie de lire la date d'un fichier xlsx en utilisant openxlsx. J'ai déjà essayé les paquets xlsx et xlconnect, mais ils ont tous les deux quelque chose de mal avec Java sur mon ordinateur, donc j'utilise openxlsx.Convertir numérique en date et heure après avoir lu la date du fichier xlsx en utilisant openxlsx
Mes données de date est comme:
1/01/2015 0:30
1/01/2015 1:00
1/01/2015 1:30
1/01/2015 2:00
1/01/2015 2:30
1/01/2015 3:00
1/01/2015 3:30
1/01/2015 4:00
1/01/2015 4:30
1/01/2015 5:00
J'utilise le code suivant pour lire les données:
a <- read.xlsx(paste0(myPath,"try/",myFileNameList[i]),startRow = 2,sheet = 1)
Ensuite, j'enregistrer les données dans un fichier csv. Dans ce fichier csv, la date ressemble à ceci:
42005.02083
42005.04167
42005.0625
42005.08333
42005.10417
42005.125
42005.14583
42005.16667
42005.1875
42005.20833
La classe est numérique. Donc, ces chiffres devraient correspondre à la date ci-dessus. Comment puis-je convertir les données numériques en date et heure?
L'échantillon de données est:
a <- c(42005.02083,42005.04167,42005.06250,42005.08333,42005.10417,42005.12500,42005.14583,42005.16667,42005.18750,42005.20833)
Merci beaucoup! Mais je ne peux pas reproduire votre réponse. Je suis à Melbourne. Et mes données concernent Sydney, Melbourne et tous les états d'Australie. Quand je cours: as.POSIXct (a, origin = "1899-12-30", tz = "Australie/Brisbane") + as.difftime (a, units = "jours"). Le résultat est comme: [1] "2015-01-01 22:10:04 AEST" "2015-01-01 22:40:05 AEST" "2015-01-01 23:10:05 AEST" ... Quand j'utilise d'autres tz comme "Australia/Melbourne", j'ai des résultats différents. Pourriez-vous m'expliquer cela? Merci. –
@FengChen - Parce que vous n'avez pas utilisé le code, j'ai écrit: 'as.POSIXct (a, origine =" 1899-12-30 ")' et 'as.POSIXct (" 1899-12-30 ")' ne sont pas la même chose du tout. – thelatemail
J'ai compris. Merci beaucoup! –