【问题标题】:Read CSV File with specific caractere with R使用 R 读取具有特定字符的 CSV 文件
【发布时间】:2020-06-04 09:44:31
【问题描述】:

我正在尝试使用从 Survey Monkey 导出的法语 R 读取 csv 文件,其中包含无法读取的“d’administration”、“systâ¨me”、“vousâ”和“double space”等特殊字符杀。 这种语法真的很难管理,你有什么建议吗?我是否必须将其读取为 UTF-8 格式。谢谢你的帮助。最好的

【问题讨论】:

  • 你学习过this answer吗?证明你已经付出了一些努力通常是件好事。喜欢分享您尝试过的和出了什么问题。

标签: r csv utf-8 surveymonkey


【解决方案1】:

我刚刚看到您正在阅读一个 CSV 文件。这是正确阅读它们的方法,因为其他帖子也表明: 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

【讨论】:

    【解决方案2】:

    您始终可以使用 excel 甚至文本编辑器直接在 .csv 中进行搜索和替换,或者您可以使用 stringr 在 R 中进行搜索和替换。您还可以查看这篇文章 handling special characters e.g. accents in R

    【讨论】:

    • 感谢 Al3xEP 的快速回答。搜索和替换选项不能很好地工作,尤其是在可检测但无法杀死的双空格时
    • 嗯。不确定您在哪个平台上,但例如使用 LibreOffice,您可以搜索正则表达式,甚至在 find "" 中输入两次空格,然后 calc 会在您的 csv 中找到它。然后就可以更换了。使用 stringr,这相当容易(参见备忘单 edrub.in/CheatSheets/cheatSheetStringr.pdf>),您只需要使用正确的正则表达式识别双空格,在您的情况下,“\s”代表您只需用简单空格替换的任何空格" " (这实际上也将替换单个空格,但替换为单个空格,这样很好)
    • 我正在 Office 2016 中处理一个 csv 文件,我可以使用 searche 功能找到双倍空格,但我无法更改它 R 中的相同问题,我可以检测到双倍空格但我无法处理它并且它在标题或变量的参数中生成错误的名称我将在使用 R 导入时再次检查编码格式
    • 您应该能够替换任何空格,包括双空格。 str_replace("\s"," ")
    • 如果你在MS Office中工作,只要下载正确,你就可以毫无问题地使用特殊字符。 Surveymonkey API 干净利落地交付它。如果从保存的文本文件中读取,不要只是默认打开它:Text Import Wizard Step 1 of 3,如果您的文件包含重音字符或双字节字符,例如亚洲语言,则文件来源应为 65001:Unicode ( UTF-8)
    猜你喜欢
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2012-08-19
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多