在R Studio中导入多日期格式Excel为Tibble的问题求助
解决Excel日期列导入R后显示不一致的问题
要让指定的日期列以字符类型原样导入(避免自动解析),可以通过readxl包的col_types参数精准控制列类型,具体方案如下:
方法1:精准指定目标列类型
先获取表格列名,再为指定列设置字符类型,其余列保持自动识别:
library(readxl) # 获取Excel文件的所有列名 col_names <- read_excel("raw_data.xlsx", n_max = 0) %>% colnames() # 构造列类型向量:目标列设为text,其余列自动识别 col_types <- ifelse(col_names %in% c("date2", "date5", "date6", "date7", "date8"), "text", "guess") # 导入数据 df <- read_excel("raw_data.xlsx", col_types = col_types)
方法2:使用openxlsx包指定列类型
如果习惯用openxlsx包,可直接通过colClasses参数指定目标列的字符类型:
library(openxlsx) df <- read.xlsx("raw_data.xlsx", colClasses = c(date2 = "character", date5 = "character", date6 = "character", date7 = "character", date8 = "character"))
补充说明
check.names=FALSE仅用于保留Excel中的原始列名(比如含特殊字符的列名),和列类型解析无关,所以无法解决日期显示不一致的问题。
内容的提问来源于stack exchange,提问作者Juergen Buesching
相关产品推荐
相关产品推荐

