R语言使用read_xlsx导入Excel时如何仅为含DATE的变量设置col_types为date
实现方案
你可以分两步完成数据导入:先只读列名不加载实际数据,根据列名匹配规则生成col_types参数的取值向量后,再按规则导入全量数据,具体代码如下:
# 第一步:仅读取列名,不加载数据 col_names <- names(read_xlsx("C:/Users/.../base.xlsx", n_max = 0)) # 第二步:生成列类型规则,包含DATE的设为date,其他自动推断 col_types <- ifelse(grepl("DATE", col_names, fixed = TRUE), "date", "guess") # 第三步:按规则导入全量数据 base <- read_xlsx("C:/Users/.../base.xlsx", col_types = col_types)
补充说明
- 代码中
fixed = TRUE表示严格匹配字面文本DATE,如果需要同时匹配大小写(例如Date、date也视为符合要求的列),可以替换为ignore.case = TRUE - 非日期列默认设置为
"guess"让readxl自动推断类型,你也可以根据需求替换为"text"、"numeric"等固定类型
内容的提问来源于stack exchange,提问作者Agustín Correa
相关产品推荐
相关产品推荐

