2016-08-15 26 views
3

ファイルにデータフレームを書き込むと、すべての列が日付列を含む文字と見なされます。私はこのコラムで作業するとき、それはデフォルトで日付とみなされるようにファイルをXLSXためにデータを書き込むことができますどのようにExcelに日付を正しく書き込むR

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

enter image description here

解決方法:カラムのクラスを文字に変換します。 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

lubridateまたはchronライブラリをこのタスクに使用してみてください。しかし、私はあなたの問題がRから来ているとは思っていませんが、それをどのように優れたものにしているのでしょうか?あなたの質問では、それを見たいか、それが現在どのように見えているかをあなたが示すイメージですか?いずれの場合も、例えばクロンを使用しているとき、あなたは

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 
関連する問題