使用 R 读取具有特定字符的 CSV 文件
Read CSV File with specific caractere with R
我正在尝试读取一个 csv 文件,其中包含从 Survey Monkey 导出的法语 R 文件,其中包含特殊字符 "d’administration"、"système"、"vousÂ" 和 "double space"那是不可能杀死的。
这种语法真的很难管理,你有什么建议吗?我必须将其作为 UTF-8 格式阅读吗?谢谢你的帮助。最佳
您可以随时进行搜索和替换,可以直接在 .csv 中使用 excel 甚至文本编辑器,或者您可以使用 stringr 在 R 中进行搜索和替换。您还可以看到这个 post handling special characters e.g. accents in R
我刚刚看到您正在阅读 CSV 文件。这是正确阅读它们的方法,因为其他 post 也表明:
https://sysmod.wordpress.com/2016/08/28/excel-gene-mutation-and-curation/
如果您真的想用普通 ANSI 替换重音字符,这里有一个 VBA 函数:
Function UnAccent(ByVal inputString As String) As String
' http://www.vbforums.com/archive/index.php/t-483965.html
Dim index As Long, Position As Long
Const ACCENTED_CHARS As String = "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿøØŸœŒ"
Const ANSICHARACTERS As String = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyyoOYoO"
For index = 1 To Len(inputString)
Position = InStr(ACCENTED_CHARS, Mid$(inputString, index, 1))
If Position > 0 Then Mid$(inputString, index) = Mid$(ANSICHARACTERS, Position, 1)
Next
UnAccent = inputString
End Function
我正在尝试读取一个 csv 文件,其中包含从 Survey Monkey 导出的法语 R 文件,其中包含特殊字符 "d’administration"、"système"、"vousÂ" 和 "double space"那是不可能杀死的。 这种语法真的很难管理,你有什么建议吗?我必须将其作为 UTF-8 格式阅读吗?谢谢你的帮助。最佳
您可以随时进行搜索和替换,可以直接在 .csv 中使用 excel 甚至文本编辑器,或者您可以使用 stringr 在 R 中进行搜索和替换。您还可以看到这个 post handling special characters e.g. accents in R
我刚刚看到您正在阅读 CSV 文件。这是正确阅读它们的方法,因为其他 post 也表明: https://sysmod.wordpress.com/2016/08/28/excel-gene-mutation-and-curation/
如果您真的想用普通 ANSI 替换重音字符,这里有一个 VBA 函数:
Function UnAccent(ByVal inputString As String) As String
' http://www.vbforums.com/archive/index.php/t-483965.html
Dim index As Long, Position As Long
Const ACCENTED_CHARS As String = "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿøØŸœŒ"
Const ANSICHARACTERS As String = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyyoOYoO"
For index = 1 To Len(inputString)
Position = InStr(ACCENTED_CHARS, Mid$(inputString, index, 1))
If Position > 0 Then Mid$(inputString, index) = Mid$(ANSICHARACTERS, Position, 1)
Next
UnAccent = inputString
End Function