2015-10-06 67 views
-1

我有一個6 GB的csv文件,我試圖從sqldf包中使用read.csv.sql讀入到R中。出於某種原因,結果返回0結果。我的代碼有什麼問題?我收到了「關閉未使用的連接」的警告消息,這可能與未返回任何結果有關。我的代碼如下。使用read.csv.sql沒有結果

 TestData <- read.csv.sql("2025_nonroad_ff10_NCD20130831_23feb2015_v3_part1.csv", sql = "select * from file where poll == 'EXH__100414';", header=TRUE, skip=27, eol="\n", sep=",") 

如果我運行一個簡單的SQL語句:select * from file limit 2,結果是:

result of sql limit 2

回答

0

也許本次修訂可能會有所幫助:

TestData <- read.csv.sql("2025_nonroad_ff10_NCD20130831_23feb2015_v3_part1.csv", sql = "select * from file where poll = 'EXH__100414'", header=TRUE, skip=27, eol="\n", sep=",") 

他們只有輕微的變化:

  • 在SQL語句中刪除雙等於
  • 刪除關閉分號,在其他程序關閉分號需要,但read.csv.sql它不是

如果不工作我們需要嘗試隔離問題

嘗試更簡單的SQL,例如只顯示前兩條記錄。 select * from file limit 2,這是否工作?

如果一切正常,那麼就意味着一切工作,但你的原始SQL條件差,錯等

如果不是,這意味着還有別的東西錯的read.csv.sql剩餘參數,或者與文件,或read.csv.sql本身。

+0

不幸的是,小修改沒有奏效。幸運的是,代碼「select * from file limit 2」確實有效!現在我只是不知道爲什麼我的原始查詢不起作用。我注意到數據框中的結果是帶引號的,格式是字符。這些報價是否引發了這種情況? – user225205

+1

很高興聽到它。如果沒有隱私問題,現在更好的方法是如果您可以在原始文章中發佈「select * from file limit 2」的結果。如果存在隱私問題,那麼如果可能的話,您可以從結果中發佈什麼是「投票」列,因此我們可以看到是否有任何關於值的新線索,格式等。您關於數據框的問題是引號和格式是字符,你的意思是你做了一個str(TestData)並且顯示其中的大部分格式都是字符?無論如何,摘錄或顯示限制的結果都有幫助。 – user454038

+0

發佈了上述結果的圖像。點擊「結果」。此外,我在其他欄目中播放其他數據,結果我得到了一個不同的錯誤:「預計有45列數據,但找到了21列」。原始文件總共有45列,但實際上只有21列有數據。 – user225205