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

使用data.table的fread批量读取CSV时如何设置encoding=UTF-8参数

解决方法

你只需要在 lapply 调用 fread 的位置后追加 encoding = "UTF-8" 参数即可,lapply 会自动将额外传入的参数透传给每一次执行的 fread 函数。

修改后的完整代码如下:

library(data.table)
filenames <- list.files("C:/Users/H409126/OneDrive - Honeywell/R/Military/Cirium/Jan 2021/RawData",  #CHANGE
                        pattern="*.csv", full.names=TRUE)
cirium <- rbindlist(lapply(filenames, fread, encoding = "UTF-8"))

补充说明

  • lapply 函数的语法为 lapply(X, FUN, ...),其中 ... 位置传入的所有参数都会原样传递给你指定的函数 FUN,所有 fread 支持的参数都可以用这种方式批量设置,比如需要同时指定分隔符就可以写为 lapply(filenames, fread, encoding = "UTF-8", sep = ",")
  • 如果运行过程中出现编码解析错误,检查对应CSV文件的实际编码,将参数值替换为对应编码即可,比如中文Windows系统常见的编码还有"GBK"、"GB2312"等。

内容的提问来源于stack exchange,提问作者Jaroslav Kotrba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:36:02