Read.csv()抛出错误

问题描述 投票:6回答:7

我一直在尝试阅读excel文件但看起来有些不对劲。该文件以excel格式存储在Documents文件夹中。

这些是我得到的错误消息:

table <- read.csv(file.choose(),header=T,sep='\t')

Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  line 1 appears to contain embedded nulls
2: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 

此外,由于这些是警告,我碰巧忽略了它们。但是没有任何东西被读入“表格”:

table
# [1] PK...
# <0 rows> (or 0-length row.names)
r read.csv
7个回答
9
投票

read.csv不读取XLS(X)文件,只读取CSV文件。尝试在Excel中打开Excel文件,将其导出为CSV并重新发布read.csv命令(根据您的系统语言,您可能需要使用read.csv2)。


6
投票

我有类似的错误,例如:

A <- read.csv("tel.csv", sep = ",")
Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  empty beginning of file
In addition: Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  invalid input found on input connection 'tel.csv'
2: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  line 1 appears to contain embedded nulls
3: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 'tel.csv'

为了解决方案我试过:

A <- read.csv("tel.csv", sep = ",",
              fileEncoding="utf-16")

有效。


3
投票

如果您尝试读取xlsx文件,请使用xlsx库,或将它们导出为csv文件。 read.table或read.csv不适用于Excel文件。

install.packages("xlsx")
library(xlsx)
table <- read.xlsx("file.xlsx", 1)

1
投票

首先,检查您的CSV实际上是CSV而不是Excel文件(您提示您的问题可能就是这种情况)。 read.csv读取分隔的文本文件,无法处理Excel文件(.xls或.xlsx)。

如果它是一个分隔的文本文件,那么查看错误消息看起来就像你的CSV(好吧,制表符分隔值文件)可能有一些read.csv()无法处理的空列名。

然后第二个警告也认为文件的最后一行是不完整的,这可能是由于在某些字段为空时输出文件以组合分隔符的任何内容。

他们是警告,因为他们没有停止程序或退出程序,但它说事情可能不像你期望的那样。


1
投票

根据定义,.csv文件具有逗号分隔值;在您的R代码中,您使用tab(“\ t”)作为分隔符。如果您有一个实际的csv文件,您应该能够输入:

csvfile<-read.csv("csvfilename.csv")

或者

csvfile<-read.table("csvfilename.csv",sep=",")

虽然真的第一个命令应该足够了。奇怪的是,你必须指定一个标签来分隔csv文件中的列,除非excel对你的数据表做了一些不可思议的事情。

您始终可以在R中使用xlsx包,然后将文件写入您想要的格式。


0
投票

您尝试读取的文件可能是UTF-16编码文件,就好像它没有编码一样。尝试使用fileEncoding =“UTF-16”参数


0
投票

一个可能的原因是意外地尝试将别名加载到文件而不是文件本身。在R for Mac中,尝试在别名上使用read.csv会产生错误。

© www.soinside.com 2019 - 2024. All rights reserved.