【问题标题】:Blank spaces in header read csv标题中的空格读取 csv
【发布时间】:2018-11-05 13:51:30
【问题描述】:

我想用 read.csv2 函数读取文件。此文件在列名中包含空格。使用参数 header = FALSE 我可以读取文件,但是当我将 FALSE 替换为 TRUE 时,出现此错误:

Error in make.names(col.names, unique = TRUE) : chaîne de charactères multioctets incorrecte 7

我该如何处理这个错误?

我的代码:

client <- read.csv2("./data/Clients.csv", header = T, na.strings = "",
                  stringsAsFactors = FALSE, sep = ";", encoding = "UTF-8")

感谢您的帮助。

【问题讨论】:

  • 使用read.csv2,您不需要header = TRUEsep = ";",这些是默认值。我刚刚尝试使用read.csv2("teste.CSV", fill = TRUE)read.csv2("teste.CSV", fill = TRUE, check.names = FALSE) 读取列名中带有空格的文件。两者都有效,第一个用点替换空格。
  • 您能否给我们一些您尝试读取的数据的可重现示例?
  • 我怀疑你的问题更多的是关于 “如何保留空格”“如何阅读”,因为它不会产生错误或警告。试试:read.csv2(..., check.names=FALSE).
  • 试试 fileEncoding="CP1252" .. 它解决了我的问题(在我的 Linux 操作系统中使用 Windows 创建的文件)

标签: r csv


【解决方案1】:

错误的原因是指向具有与UTF-8 不兼容的多字节字符的列名。

一个选项是使用encoding = "UCS-2LE":

client <- read.csv2("./data/Clients.csv", header = TRUE, na.strings = "",
                  stringsAsFactors = FALSE, sep = ";", encoding = "UCS-2LE")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 2012-06-28
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多