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

R语言data.table::fread导入CSV文件返回0行问题排查

问题根源

你在data.table::fread中设置的quote = ''参数和实际CSV文件的格式不匹配,是读取返回0行的直接原因:
你提供的CSV样本具备以下格式特征:

  • 每条完整记录的外层被双引号包裹
  • 字段内部的双引号通过连续两个双引号""转义
  • 论文标题、作者列表等长字段内部包含合法换行符
    当你设置quote = ''时,相当于告知fread不识别任何引号包裹规则,会直接把长字段内部的换行识别为行结束符,解析出的分段全部不匹配表头列数,最终返回空结果。而read.csv默认使用quote = '"'参数,会将引号包裹的内容识别为单个字段,忽略内部换行,因此可以正常读取。
修复方案

删除quote = ''配置,或显式指定引号为双引号即可,修改后的代码如下:

df <- data.table::fread(file=path_data,
        header = TRUE,
        sep = ",",
        quote = '"',
        stringsAsFactors = FALSE)

如果仍存在个别异常行导致读取失败,可以补充以下参数适配:

  • 新增fill = TRUE:自动为列数不足的行补空值,避免直接读取失败
  • 新增verbose = TRUE:输出完整解析日志,定位异常行的具体问题

内容的提问来源于stack exchange,提问作者Jérémy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:54:03