如何使用R将全制表符分隔的大型CSV文件转换为逗号分隔格式
R语言Tab分隔CSV转逗号分隔格式最简实现
无第三方依赖方案(基础R内置函数)
适合小体积文件,无需额外安装包即可完成:
- 读取Tab分隔文件直接调用内置
read.delim(),该函数默认分隔符就是制表符(\t) - 写出为逗号分隔文件调用内置
write.csv(),必须设置row.names = FALSE避免生成多余的行号列
代码示例:
# 替换为实际文件路径 source_file <- "你的tab分隔源文件路径.tsv" target_file <- "转换后的逗号分隔文件路径.csv" # 读取源文件 df <- read.delim(source_file, stringsAsFactors = FALSE) # 写出为逗号分隔格式 write.csv(df, target_file, row.names = FALSE)
超大型文件高效方案(推荐)
针对体积较大的文件,基础R读写速度慢、内存占用高,使用data.table包的函数效率可提升数倍:
- 首次使用先执行
install.packages("data.table")安装包 - 读取用
fread(),可自动识别Tab分隔,也可手动指定sep = "\t" - 写出用
fwrite(),默认就是逗号分隔,且默认不会输出行号,无需额外参数
代码示例:
# 首次使用安装包(已安装可跳过) install.packages("data.table") library(data.table) # 替换为实际文件路径 source_file <- "你的tab分隔源文件路径.tsv" target_file <- "转换后的逗号分隔文件路径.csv" # 读取Tab分隔文件 df <- fread(source_file, sep = "\t") # 写出为逗号分隔CSV fwrite(df, target_file)
常用配置说明
- 若源文件无表头,读取时给函数加
header = FALSE参数即可 - 若需要自定义缺失值填充符,给写出函数加
na = "指定填充内容"参数 - 转换后建议抽查前后几行数据,规范的Tab分隔文件均可正常转换,若出现列错位一般是源文件存在未转义的制表符或逗号字段
内容的提问来源于stack exchange,提问作者Aegard
相关产品推荐
相关产品推荐

