從R

2016-08-15 60 views
3

正確的將日期寫入Excel當我將數據框寫入文件時,它將所有列視爲包括日期列在內的字符。從R

options(xlsx.date.format = "yyyy-mm-dd") 
write.xlsx(data, excel_filename, sheetName = "Data") 

enter image description here

我怎樣才能將數據寫入XLSX文件,這樣當我與此列其視爲默認日期工作?

解決方案:打開列的類是字符。經過as.Date轉換後,一切都妥善保存。

+0

它應該代替是['選項(openxlsx.dateFormat = 「YYYY-MM-DD」)'](https://cran.r-project.org/web/packages/openxlsx/vignettes/formatting .PDF)? – r2evans

+1

http://stackoverflow.com/questions/23295571/how-to-prevent-write-csv-from-changing-posixct-dates-and-times-class-back-to-ch,這有幫助嗎? – user5249203

+0

@ r2evans沒有工作:( –

回答

2

您可以嘗試使用lubridatechron庫執行此任務。不過,我認爲你的問題不是來自R,而是更多的是由於excel是如何讀取它的。在你的問題中,你展示的圖像是你想要的樣子,還是它目前的樣子?在任何情況下,例如使用chron時,可以說

format.Date(dates, "%Y/%m/%d") 
2

xlsx的參考手冊用示例非常清楚地解釋了它。下面是一個稍微修改的資料來源:https://cran.r-project.org/web/packages/xlsx/xlsx.pdf 我想,你是在按照相同的方法。使用工作簿保存日期的格式。

wb <- createWorkbook(type="xlsx") 
sheet <- createSheet(wb, sheetName="addDataFrame1") 
data <- data.frame(date=seq(as.Date("1999-01-01"), by="1 year", length.out=10)) 
addDataFrame(data, sheet, startRow = 1, startColumn=1) 
# to change the default date format use something like this 
options(xlsx.date.format="dd MMM, yyyy") 
# Don't forget to save the workbook ... 
saveWorkbook(wb, "Path/test.xlsx") # your path to the excel sheet