【问题标题】:read_csv doesn't get accents correctlyread_csv 无法正确获取重音符号
【发布时间】:2021-12-24 05:19:06
【问题描述】:

我正在读取带有 readr::read_csv("path_to/file.csv", locale = locale(encoding = "utf-8")) 的 UTF-8 编码文件,但仍然无法正确获取西班牙口音。

我用readr::write_csv(file, "path_to/file.csv") 编写了文件,readr::guess_encoding("path_to/file.csv") 的输出是 UTF-8,100% 置信。

附带说明,每次我编写文件时,R 会话都会遇到致命错误,但文件仍然被写入。

我可以做些什么来获得正确的重音字符串?


编辑

我在 readr 的 github 存储库中找到了 this issue,指出该错误应该随着最新的 vroom 版本消失,但在我的情况下没有。

【问题讨论】:

  • data.frame/文件的大小是多少?某些东西“爆炸”的事实(你能说得更具体点吗?)暗示某些事情可能会出错。你试过用write.table写作吗?
  • 我的意思是R炸弹出现了。文件大小为 2.2 MB。
  • 抱歉,不确定什么是 R 炸弹?如果您指的是 RStudio 崩溃,您可以尝试更新版本(可能是每日构建?)或通过控制台运行代码(“本机”)。
  • 我刚刚尝试了write.csv 并没有终止会话,但read_csv 仍然无法按预期工作,read.csv 也没有。
  • 通过控制台运行代码与通过 rmarkdown 中的 r 块运行代码的输出相同。

标签: r csv encoding export-to-csv readr


【解决方案1】:

我已经解决了重音符号问题:当调用我的 funs.R 文件时,该文件包含数据预处理的所有相关函数并且在编写 csv 之前使用过,我没有正确执行。显然,文件来源是使用 R 的默认编码完成的,这不一定与文件本身的编码相同。我只需将encoding = "utf-8" 参数设置为source()

我无法解决致命错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-15
    • 2014-01-04
    • 2019-07-22
    • 2012-04-15
    • 2019-09-23
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多