我一直在尝试阅读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)
答案 0 :(得分:9)
read.csv
不读取XLS(X)文件,只读取CSV文件。尝试在Excel中打开Excel文件,将其导出为CSV并重新发布read.csv
命令(取决于您的系统语言,您可能希望改为使用read.csv2
)。
答案 1 :(得分:6)
我有类似的错误,例如:
package com.mvc.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
public class MvcDemo {
@RequestMapping(value="/login", method = RequestMethod.GET)
public String showForm( )
{
ModelAndView mv = new ModelAndView("login");
return mv;
}
}
对于我试过的解决方案:
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'
有效。
答案 2 :(得分:3)
如果您正在尝试读取xlsx文件,请使用xlsx库,或将它们导出为csv文件。 read.table或read.csv不适用于Excel文件。
install.packages("xlsx")
library(xlsx)
table <- read.xlsx("file.xlsx", 1)
答案 3 :(得分:1)
首先,检查您的CSV实际上是CSV而不是Excel文件(您提示您的问题可能就是这种情况)。 read.csv
读取分隔的文本文件,无法处理Excel文件(.xls或.xlsx)。
如果它是一个分隔的文本文件,那么查看错误消息看起来就像你的CSV(好的,制表符分隔的值文件)可能有一些read.csv()
无法处理的空列名。
然后第二个警告也会认为文件的最后一行是不完整的,这可能是由于某些字段为空时输出文件以组合分隔符所引起的。
他们是警告,因为他们没有停止程序或退出程序,但它说事情可能不像你期望的那样。
答案 4 :(得分:1)
根据定义,.csv文件具有逗号分隔值;在您的R代码中,您使用tab(“\ t”)作为分隔符。如果您有一个实际的csv文件,您应该能够输入:
csvfile<-read.csv("csvfilename.csv")
或者
csvfile<-read.table("csvfilename.csv",sep=",")
虽然第一个命令真的应该足够了。奇怪的是,你必须指定一个标签来分隔csv文件中的列,除非excel对你的数据表做了一些不可思议的事情。
您始终可以在R中使用xlsx包,然后将文件写入所需的格式。
答案 5 :(得分:0)
您尝试读取的文件可能是UTF-16编码文件,就好像它没有编码一样。尝试使用fileEncoding =“UTF-16”参数
答案 6 :(得分:0)
一个可能的原因是无意中尝试将别名加载到文件而不是文件本身。在R for Mac中,尝试在别名上使用read.csv
会产生错误。