R

时间:2018-02-02 23:34:58

标签: r csv

尝试读取本地csv文件时出现错误

  

xts中的错误(dat,order.by = as.Date(rownames(dat),“%m /%d /%Y”)):     'order.by'不能包含'NA','NaN'或'Inf'

我正在尝试https://rpubs.com/mohammadshadan/288218中的示例,如下所示:

tmp_file <- "test.csv"

# Create dat by reading tmp_file
dat <- read.csv(tmp_file,header=FALSE)

# Convert dat into xts
xts(dat, order.by = as.Date(rownames(dat), "%m/%d/%Y"))

# Read tmp_file using read.zoo
dat_zoo <- read.zoo(tmp_file, index.column = 0, sep = ",", format = "%m/%d/%Y")

# Convert dat_zoo to xts
dat_xts <- as.xts(dat_zoo)

事情就是当我尝试读取文件时,就像在从服务器读取文件的示例中一样,这种方式有效,但是当我在本地尝试使用csv文件时,即使它与Web中的文件具有相同的信息

我尝试使用Notepad,Notepad ++和Excel创建csv文件,但没有运气。 知道我缺少什么?,我也尝试使用read.table而不是csv,结果相同......

文件位于:https://ufile.io/zfqje

如果header = TRUE,我收到以下错误:

  

警告消息:1:在read.table中(file = file,header = header,sep =   sep,quote = quote,:找不到最终的最终行   'test.csv'上的readTableHeader   2:在读取(文件,...):不完整   readTableHeader在'test.csv'上找到的最后一行

1 个答案:

答案 0 :(得分:1)

问题是header=FALSE中的read.csv参数。

如果有标题,

read.csv将选择第一列作为行名称,第一行包含的字段少于列数。 header = FALSE时,它不会创建行名称。

以下是问题的一个示例:

dat <- read.csv(text = "a,b
1/02/2015,1,3
2/03/2015,2,4", header = F)

as.Date(rownames(dat), "%m/%d/%Y")
#> [1] NA NA NA

删除header = F后,问题就解决了:

dat <- read.csv(text = "a,b
1/02/2015,1,3
2/03/2015,2,4")

as.Date(rownames(dat), "%m/%d/%Y")
#> [1] "2015-01-02" "2015-02-03"