R write.csv 没有正确处理像é这样的字符

Posted

技术标签:

【中文标题】R write.csv 没有正确处理像é这样的字符【英文标题】:R write.csv not handling characters like é correctly 【发布时间】:2020-12-24 12:53:13 【问题描述】:

当我查看 R 中的数据时,它会正确显示“é”之类的字符。

我使用 write.csv 将其导出到 excel。当我打开 csv 文件时,“é”显示为“√©”。是 write.csv 还是 excel 的问题?我能做些什么来解决它?

谢谢

【问题讨论】:

也许尝试使用encoding="UTF-8" 参数 【参考方案1】:

这是 Excel 的问题。尝试导入数据而不是打开文件。

转到:“数据”-->“来自文本/CSV”,然后选择“65001:Unicode (UTF-8)”。这将匹配来自 R 的编码。

【讨论】:

【参考方案2】:

试试write.csv的参数fileEncoding:

write.csv(..., fileEncoding="UTF-16LE")

来自 write.csv 文档:

fileEncoding 字符串:如果非空则声明编码为 用于文件(不是连接),因此字符数据可以 在写入时重新编码。见文件。

CSV 文件不记录编码,如果它们 对于许多其他应用程序来说不是 ASCII。 Windows Excel 2007/10 将 正确打开文件(例如,通过文件关联机制),如果它们 是 ASCII 或 UTF-16(使用 fileEncoding = "UTF-16LE")或者可能在 当前的 Windows 代码页(例如,“CP1252”),但“文本导入” 向导”(来自“数据”选项卡)允许更多的编码选择。 Excel:mac 2004/8 只能导入‘Macintosh’(好像是Mac的意思 Roman)、“Windows”(可能是 Latin-1)和“PC-8”文件。开放式办公室 3.x 打开文件时要求输入字符集。

【讨论】:

以上是关于R write.csv 没有正确处理像é这样的字符的主要内容,如果未能解决你的问题,请参考以下文章

警报消息未正确显示

在 write.csv 之后预测文件大小

使用 R 在一个 .csv 文件中写入不同的数据帧

使用 R 在一个 .csv 文件中写入不同的数据帧

std::regex_match 与字符 é è à

编写csv时避免拆分字符串列