r语言 - 写成 CSV 给出奇怪的字符



我正在尝试将数据帧编写为 csv,它成功了,但最终会有一些带有奇怪字符的字段,例如 4.5×10−7 在 csv 文件中给出了 4.5×10âˆ'7。在做了一些研究之后,我使用文件编码作为"Windows-1252",但这很有帮助。这是一个可重现的代码

name <- c('John Doe','Peter Gynn','Jolie Hope')
valuename <- c("4.5×10−7", "0.0006", "0.345")
df <- data.frame(name,valuename)
write.csv(df, "/Desktop/test.csv", row.names=FALSE)

任何人都可以帮助我进行正确的编码或替代来处理该字段吗?

尝试强制文件编码使用"UTF-8":

write.csv(df, "/Desktop/test.csv", row.names=FALSE, fileEncoding = 'UTF-8')

您的代码在我的 Windows 7 中运行良好,但我在 ubuntu 16.04 上已经遇到了类似的问题。

使用

readr 包,您可以简单地使用:

readr::write_excel_csv(df, file)

根据文档,此函数"包括一个 UTF-8 字节顺序标记,向 Excel 指示 csv 是 UTF-8 编码的。

最新更新