You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中合并CSV文件:解决ZIP列类型不一致导致bind_rows失效问题

解决CSV合并时ZIP列类型不一致的问题

你可以在读取每个CSV文件后,统一将ZIP列转换为字符型,确保所有文件的该列类型一致后再合并。修改后的代码如下:

df <- list.files(path = "/Users/XXXX", pattern = "*.csv") %>% 
  lapply(function(file_path) {
    # 读取单个CSV文件
    read_csv(file_path) %>%
      # 将ZIP列转换为字符型
      mutate(ZIP = as.character(ZIP))
  }) %>% 
  bind_rows()

如果存在部分文件没有ZIP列的情况,可以用更健壮的写法避免报错:

df <- list.files(path = "/Users/XXXX", pattern = "*.csv") %>% 
  lapply(function(file_path) {
    read_csv(file_path) %>%
      # 仅对存在的ZIP列执行类型转换
      mutate(across(any_of("ZIP"), as.character))
  }) %>% 
  bind_rows()

说明

  • 借助lapply的匿名函数,在读取每个文件后立即处理ZIP列的类型,确保所有文件的该列统一为字符型
  • across(any_of("ZIP"))会自动跳过不存在ZIP列的文件,避免运行时抛出错误

内容的提问来源于stack exchange,提问作者Jean-Paul Azzopardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:50:47