如何将excel日期格式转换为r中的正确日期


您可以使用以下方法将 Excel 日期格式转换为 R 中的适当日期:

方法 1:将 Excel 数字转换为 R 中的正确日期

 df$date <- as. Date (df$date, origin = " 1899-12-30 ")

方法 2:将 Excel 数字转换为 R 中正确的日期/时间

 library (openxlsx)

df$datetime <- convertToDateTime(df$datetime)

以下示例展示了如何在实践中通过名为sales_data.xlsx的 Excel 文件使用每种方法,该文件包含以下数据:

示例 1:将 Excel 数字转换为 R 中合适的日期

下面的代码展示了如何使用基础R中的as.Date()函数将Excel文件的日期列中的数值转换为R中适当的日期:

 library (readxl)

#import Excel file into R as data frame
df <- read_excel(" C:\\Users\\bob\\Documents\\sales_data.xlsx ")

#view data frame
df

# A tibble: 10 x 3
    date datetime sales
        
 1 44563 44563. 14
 2 44566 44567. 19
 3 44635 44636. 22
 4 44670 44670. 29
 5 44706 44706. 24
 6 44716 44716. 25
 7 44761 44761. 25
 8 44782 44782. 30
 9 44864 44864. 35
10 44919 44920. 28

#convert Excel number format to proper R date
df$date <- as. Date (df$date, origin = " 1899-12-30 ")

#view updated data frame
df

# A tibble: 10 x 3
   date datetime sales
            
 1 2022-01-02 44563. 14
 2 2022-01-05 44567. 19
 3 2022-03-15 44636. 22
 4 2022-04-19 44670. 29
 5 2022-05-25 44706. 24
 6 2022-06-04 44716. 25
 7 2022-07-19 44761. 25
 8 2022-08-09 44782. 30
 9 2022-10-30 44864. 35
10 2022-12-24 44920. 28

请注意,日期列值现在已格式化为正确的日期。

示例 2:将 Excel 数字转换为 R 中适当的日期/时间

以下代码展示了如何使用R中openxlsx包的convertToDateTime()函数将Excel文件的日期时间列中的数值转换为R中相应的日期时间:

 library (readxl)
library (openxlsx)

#import Excel file into R as data frame
df <- read_excel(" C:\\Users\\bob\\Documents\\sales_data.xlsx ")

#view data frame
df

# A tibble: 10 x 3
    date datetime sales
        
 1 44563 44563. 14
 2 44566 44567. 19
 3 44635 44636. 22
 4 44670 44670. 29
 5 44706 44706. 24
 6 44716 44716. 25
 7 44761 44761. 25
 8 44782 44782. 30
 9 44864 44864. 35
10 44919 44920. 28

#convert Excel datetime to proper datetime in R
df$datetime <- convertToDateTime(df$datetime)

#view updated data frame
df

# A tibble: 10 x 3
    date datetime sales
                  
 1 44563 2022-01-02 04:14:00 14
 2 44566 2022-01-05 12:15:00 19
 3 44635 2022-03-15 15:34:00 22
 4 44670 2022-04-19 09:45:00 29
 5 44706 2022-05-25 10:30:00 24
 6 44716 2022-06-04 10:15:00 25
 7 44761 2022-07-19 01:13:00 25
 8 44782 2022-08-09 02:15:00 30
 9 44864 2022-10-30 04:34:00 35
10 44919 2022-12-24 21:23:00 28

请注意,日期时间列值现在已格式化为正确的日期。

注意:您还可以使用openxlsx包中的ConvertToDate()函数将数字日期转换为 R 中的适当日期。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何将Excel文件导入到R中
如何在 R 中将数据框导出到 Excel 文件
如何在 R 中将数据框导出到多个 Excel 工作表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注