r - 在读取 sas 文件以触发或将数据拉到 r 会话时,有没有办法设置字符编码?
问题描述
所以,我有很大的 sas7bdat 文件,我想阅读它们以激发、处理它们,然后将结果收集到 ar 会话。我正在阅读它们以使用 packagespark.sas7bdat
和 function激发火花spark_read_sas
。到目前为止,一切都很好。问题是 sas7bdat 文件的字符编码是 iso-8859-1,但要在 R 中正确显示内容,它需要是 UTF-8。当我将结果拉到 R 时,我的数据看起来像这样。(让我们首先创建一个与我的结果具有相同原始字节的示例)
mydf <- data.frame(myvar = rawToChar(as.raw(c(0xef, 0xbf, 0xbd, 0x62, 0x63))))
head(mydf$myvar,1) # should get äbc if it was originally read correctly
> �bc
之后更改编码由于某种原因不起作用。
iconv(head(mydf$myvar,1), from = 'iso-8859-1', to = 'UTF-8')
> �bc
如果我使用haven
包并将read_sas('myfile.sas7bdat', encoding = 'iso-8859-1')
文件直接读取到我的 r-session 中,一切都会按预期工作。
head(mydf$myvar,1)
> äbc
我将非常感谢一个解决方案,它使我能够在 spark 中进行处理,然后只将结果收集到 R-session,因为文件太大了。我想这可能会在以下情况下解决它可能与 sas7bdat 文件中的特殊字符编码有关)。
解决方案
推荐阅读
- html - Qt 中的 Sphinx 集成
- c - 计算段中的个数(二进制)
- google-admin-sdk - 如何让 Google 群组成为我的 Cloud Identity 的超级管理员
- php - 在 MyAccountController [backpack-laravel] 中添加个人资料信息
- sql-server - 使用记录中的文件路径列使用最新文件更新 varbinary 列
- shared-libraries - 无法打开共享对象文件 libpng12.so.0
- firebase - 我可以在没有通知许可的情况下使用 Firebase 云消息吗?(Javascript)
- swift - 修复 - 线程 1:致命错误:在展开可选值时意外发现 nil
- webview - 我可以将 JavaScript 和 CSS 注入 Xamarin 表单 WebView 吗?
- git - 我可以强制 git 将更改视为一个整体吗?