将csv-table导入R并出现多个错误

时间:2017-09-08 09:26:43

标签: r csv import error-handling

如您所见,我想将csv-table读入我的数据池。该表有多列,但当我只是尝试下面的代码:

reviews <- read.table("Sz-Iraki2.csv", fileEncoding = "UTF-8")

我收到错误:扫描错误(file = file,what = what,sep = sep,quote = quote,dec = dec,:   第1行没有22个元素

当我添加 header = True时,我收到错误:列数多于列名。似乎是一个基本问题,但我找不到答案:(强文

但应该看起来像this

数据看起来像this

2 个答案:

答案 0 :(得分:1)

您必须定义分隔符,否则R无法正确读取数据。假设您的数据结构如下:

structure(list(month = 2:5, titles_tmp = structure(c(1L, 1L, 
1L, 1L), .Label = "some text", class = "factor"), info_tmp = structure(c(1L, 
1L, 1L, 1L), .Label = "More text", class = "factor"), unlist.text = structure(c(1L, 
1L, 1L, 1L), .Label = "http://somelink.com", class = "factor")), .Names = c("month", 
"titles_tmp", "info_tmp", "unlist.text"), class = "data.frame", row.names = c(NA, 
-4L))

这意味着您使用单个标签分隔每个列。这意味着您需要使用sep = " "作为数据分隔符。如果您的数据文件名是“df.csv”,则以下内容应该很好地导入您的数据:

df = read.csv("Sz-Iraki2.csv", sep= " ", fileEncoding = "UTF-8")

答案 1 :(得分:0)

我喜欢使用:

require(readr)

read_csv("myData.csv")

如果你的文件类型是csv,那么似乎更合适。

还附带了一些有用的选项,例如定义&#39; coltype&#39;在进口。