sqldf返回零观察值

时间:2018-06-16 20:03:12

标签: r sqldf

我的本​​地驱动器上有许多大型数据文件(.csv),我需要在R中读取,过滤行/列,然后组合。每个文件大约有33,000行和575列。

我读了这篇文章:Quickly reading very large tables as dataframes并决定使用" sqldf"。

这是我的代码的简短版本:

Housing <- file("file location on my disk")
Housing_filtered <- sqldf('SELECT Var1 FROM Housing', file.format = list(eol="/n")) *I am using Windows

我看到&#34; Housing_filtered&#34; data.frame是使用Var1创建的,但是零观察。这是我第一次使用sqldf。我不确定为什么会返回零观测值。

我还使用了&#34; read.csv.sql&#34;我仍然看不到任何观察结果。

Housing_filtered <- read.csv.sql(file = "file location on my disk",
                    sql = "select Var01 from file", 
                    eol = "/n",
                    header = TRUE, sep = ",")

1 个答案:

答案 0 :(得分:0)

你从未像你想象的那样将文件真正导入为data.frame

您已为文件打开连接。你提到它是一个CSV。您的代码应如下所示如果它是普通的CSV文件:

Housing          <- read.csv("my_file.csv")
Housing_filtered <- sqldf('SELECT Var1 FROM Housing')

如果此CSV文件存在非标准内容,请提及它是什么以及如何创建。

此外,对于评论中提出的另一点,如果由于某种原因需要手动输入换行符,请使用\n使用/n。任何错误都不是由该更改引起的,而是由于不正确地处理丢失的数据,空间,未处理的文本字段中的逗号等等而导致问题传递给另一个错误,等等。

如果仍有数据错误,请使用R代码创建一个反映数据相关特征的小文件,导入时会产生相同的错误吗? This可能有帮助。