R语言批量导入合并多个CSV文件时如何指定分隔符为|
可以修改,你原来用的read_csv是readr包中预设为逗号分隔的读取函数,默认分隔符固定为逗号,要指定|作为分隔符,直接换成支持自定义分隔符的read_delim函数传参即可。
修改后的代码如下:
library(tidyverse) df <- list.files(pattern = "\\.csv$") %>% lapply(function(x) read_delim(x, delim = "|")) %>% bind_rows()
几个实用补充:
list.files()里加pattern = "\\.csv$"是为了只匹配当前目录下后缀为.csv的文件,避免读入目录里其他无关文件导致报错,如果你确定目录下全是目标文件可以删掉这个参数。- 要是嫌每次读文件都会打印列类型提示,可以在
read_delim()里加参数show_col_types = FALSE关掉提示。 - 如果你用的是R 4.1及以上版本,匿名函数
function(x)可以简写成\(x),运行效果完全一致。 - 如果你读取的|分隔文件有特殊格式(比如自定义缺失值、指定编码、跳过开头几行),直接在
read_delim()里加对应参数就行,用法和你之前用的read_csv完全一致。
内容的提问来源于stack exchange,提问作者user12091587
相关产品推荐
相关产品推荐

