You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中读取CSV文件时两列之间出现方块的原因咨询

R读取CSV列间出现方块的原因及解决办法

核心原因

  • 分隔符不匹配:read.csv2默认以分号;作为列分隔符,如果你的CSV实际用逗号、制表符或其他符号分隔,R会把非预期的字符解析成方块,甚至把多列当成一列。
  • 编码不一致:CSV文件可能采用了R默认编码(通常是UTF-8)之外的格式(比如Windows系统常用的GBK、ISO-8859-1),读取时未指定编码就会导致特殊字符显示为方块。
  • 文件含隐藏特殊字符:从Excel等软件导出CSV时,可能附带了不可见的控制字符、换行符或格式标记,被R读取后显示为方块。

解决办法

  1. 匹配正确的分隔符
    先用文本编辑器(如Notepad++)打开CSV文件,确认列之间的分隔符号:

    • 若为逗号分隔,改用read.csv:
      df <- read.csv("Book1.csv", fileEncoding = "UTF-8")
      
    • 若为制表符分隔,用read.delim或手动指定sep:
      df <- read.delim("Book1.csv", fileEncoding = "UTF-8")
      # 或
      df <- read.table("Book1.csv", sep = "\t", header = TRUE, fileEncoding = "UTF-8")
      
    • 确认是分号分隔但仍有问题,手动指定参数:
      df <- read.csv2("Book1.csv", fileEncoding = "GBK") # 根据文件实际编码调整
      
  2. 指定正确的文件编码
    如果不确定编码,可以尝试常见的编码格式,比如"GBK"、"Windows-1252":

    df <- read.csv2("Book1.csv", fileEncoding = "Windows-1252")
    
  3. 清理文件中的特殊字符
    用文本编辑器打开CSV,开启显示所有字符的功能(比如Notepad++的「视图」→「显示符号」→「显示所有字符」),删除多余的控制字符或格式标记,再重新保存为纯CSV格式。

内容的提问来源于stack exchange,提问作者Madamespring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:45:26