r - 如何在 fwrite() 中为导出 csv 文件 R 指定编码?
问题描述
由于fwrite()
无法应用编码参数,我怎样才能以最快的速度以特定编码导出 csv 文件fwrite()
?(fwrite()
是迄今为止我承认的最快的功能)
fwrite(DT,"DT.csv",encoding = "UTF-8")
Error in fwrite(DT, "DT.csv", encoding = "UTF-8") :
unused argument (encoding = "UTF-8")
解决方案
您应该发布一个可重现的示例,但我想您可以通过确保DT
R 中的数据采用 UTF-8 格式,然后将每列的编码设置为“未知”来做到这一点。然后,当您写出数据时,R 将假定数据以本机编码进行编码。
例如,
DF <- data.frame(text = "á", stringsAsFactors = FALSE)
DF$text <- enc2utf8(DF$text) # Only necessary if Encoding(DF$text) isn't "UTF-8"
Encoding(DF$text) <- "unknown"
data.table::fwrite(DF, "DF.csv", bom = TRUE)
如果 的列DF
是因子,则需要先将它们转换为字符向量,然后才能使用。
推荐阅读
- python - 子图边界外的箱线图
- r - 如何重新排序向量,使其与 R 中另一个向量的顺序相匹配?
- python - pytorch 训练函数变量和张量(阅读我的介绍,我也不知道我的问题,它只是不起作用)
- xml - 忽略空的 xml 标签
- python - TypeError:'dict'和'dict'的实例之间不支持'<':Python 3 Conversion?
- android - 如何禁用 GridView 被 PopupWindow 滚动
- php - Facade\Ignition\Exceptions\ViewException?
- javascript - 如何获取cherrypy函数的结果?
- apify - 如果运行成功,则下载最新结果
- java - ArrayList 错误:大小相同,在 remove() 之后包含“空”元素