【问题标题】:Warning message:In read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'hola.csv'警告消息:在 read.table(file = file, header = header, sep = sep, quote = quote, : readTableHeader 在 'hola.csv' 上找到的不完整的最后一行
【发布时间】:2019-10-17 13:29:21
【问题描述】:

问题:在 R 中我收到警告消息:

在 read.table(file = file, header = header, sep = sep, quote = quote, : readTableHeader 在 'hola.csv' 上找到的不完整的最后一行

为简化起见,我在 excel 中创建了一个基本表格,并将其保存为它提供的所有 .csv 格式(逗号分隔值、csv UTF8、MS2 csv 等),并且错误仍然存​​在于所有这些格式中。我正在使用 mac 10.15 catalina,Excel 版本 16.29.1 (2019)。

我将笔记本电脑的语言从西班牙更改为英国,为组选择,,为小数选择.,因为这里的一些人认为这可能是由于某些国家/地区的语言默认使用分号而不是逗号作为 csv .在此之后,正如预期的那样,确实创建了用逗号分隔的 csv,但我仍然收到警告。

如建议的那样,如果我在 textedit 中打开文件并在最后单击 Enter,然后保存它,R 可以完美运行并且错误消失,但是每次我想打开时都这样做似乎并不实用/有效一个.csv。另一方面,为什么使用 mac UK 配置的工作同事没有收到此错误,对我来说仍然是个谜(当我打开他们在笔记本电脑上创建的 csv 时我也没有)。

可以是 Excel 版本吗?我应该忽略警告吗? (打开时桌子看起来很好)。谢谢!

aq2<-read.csv("hola.csv")

【问题讨论】:

  • 警告消息与错误消息不同。这意味着可能存在问题,而错误消息意味着操作无法完成。您需要做的就是检查以确保最后一行包含在aq2 对象中(例如tail(aq2)nrow(aq2))。那你就可以走了。

标签: r csv line warnings


【解决方案1】:

这是一条警告消息,因为 R 的 read.table 期望最后一行包含行尾字符(或 )。这几乎总是一个不必要的警告。包括 Excel 在内的许多程序都会创建类似的文件。

【讨论】:

    【解决方案2】:

    您应该仔细阅读错误信息。它说incomplete final line found by readTableHeader。这指的是 .csv 文件的最后 ,表明此行不完整,R 无法读取。那么可能是什么问题呢?如果您有一个 csv(=逗号分隔值)文件,则很可能每一行都有特定的格式。检查此格式是否在整个文件中一致应用。手动收集的数据中经常出现的问题。如果您使用tail(aq2)(来自tidyverse 包)发布数据摘录,我们可以查看最后一行并检查格式以更深入地回答问题。最终,它只是一个warning,而不是错误消息。尽管如此,了解warnings 还是很重要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-12
      • 1970-01-01
      • 2021-12-22
      • 2014-04-05
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多