如何在 r 中修复:readtableheader 找到的最后一行不完整


您在 R 中可能遇到的警告是:

 Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
  incomplete final line found by readTableHeader on 'my_data.csv' 

当您尝试在 R 中读取 CSV 文件但文件的最后一行不为空时,会出现此警告。

需要注意的是,这只是一条警告消息,而不是错误。即使出现此消息,您的文件仍会导入到 R 中。

本教程解释了如何完全避免此警告。

如何重现警告

假设我有以下名为my_data.csv的 CSV 文件,我想将其导入到 R 中:

现在假设我尝试使用以下代码将此 CSV 文件导入到 R 中:

 #import CSV file
df <- read. csv (' my_data.csv ')

Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
  incomplete final line found by readTableHeader on 'my_data.csv'

我收到一条警告消息,因为 CSV 文件的最后一行不为空。

但是,文件仍然导入成功:

 #view imported data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3.

方法一:如何避免警告

避免此警告的一种方法是简单地将read.csv()函数放入suggestWarnings()函数中:

 #import CSV file and remove any warnings
df <- suppressWarnings( read.csv (' my_data.csv '))

#view data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3

这次我们可以导入 CSV 文件而不会出现任何警告。

这种方式的优点是我们不需要直接修改文件。

这种方法的缺点是,如果在导入文件时需要注意更严重的警告,我们将无法看到它们。

方法2:如何避免警告

避免此警告的另一种方法是直接编辑 CSV 文件。

具体来说,我们可以转到文件的最后一行,然后按 Enter 键在文件末尾创建一个新的空行:

现在,当我们导入 CSV 文件时,我们不会收到任何警告:

 #import CSV file
df <- read. csv (' my_data.csv ')

#view data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3

这种方法的优点是我们在导入文件时仍然能够看到其他警告。

这种方法的缺点是我们必须直接修改文件,而不仅仅是使用编程解决方案。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中使用 readLines() 函数
如何将 CSV 文件导入到 R 中
如何在 R 中使用 read.table

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注