2016-09-16 104 views
1

我讀50MB的〜的SCV文件,羽毛包read_feather閱讀。錯誤而用羽毛包

在讀取錯誤產生如下:

Error in .Call("feather_coldataFeather", PACKAGE = "feather", feather, : 
negative length vectors are not allowed 

我還沒有發現這個錯誤的詳細描述。我曾經閱讀過一段時間,但還沒有找到這樣的錯誤。我有點絆倒這樣的錯誤。

在此先感謝您的提示。

+0

我的猜測是,如果調用正在爲其他'scv'文件,但不是這個,這個文件可能有一些問題。你可以手動檢查文件的正確性嗎? –

+1

請參閱https://stat.ethz.ch/pipermail/r-help/2015-January/425051.html可能您的媒介實際上太長了。也[這裏](http://stackoverflow.com/questions/36842263/memory-limits-in-data-table-negative-length-vectors-are-not-allowed)可能與 – Cath

+0

@Cath 感謝的提示。但我不確定它達到了極限。實際的表格大約是82k x 151.因此我正在重新下載新的表格。據我記得,我曾經有1,400萬行和35列,閱讀是好的。 –

回答

-1

答案是,此錯誤消息指示.feather文件的損壞。如果不用新格式的數據覆蓋文件,則錯誤消息將消失。使用新文件或刪除現有文件,然後以不同格式保存數據。

我遇到了同樣的問題。不幸的是,這個錯誤信息並不是非常有用,它似乎只是在類似情況下可以獲得的至少四種可能的消息之一。

在我的情況下,我將Python數據幀保存到.feather文件,然後嘗試在R中讀取。在我更改數據幀中的數據格式後發生錯誤 - 具體地說,我更改了將一些字符串列轉換爲整數列,將一列字符串轉換爲浮動列 - 並將數據幀保存到與之前用於存儲字符串數據的.feather文件相同的文件中。這導致了所述的錯誤消息。

一切完美的作品後,我刪除了.feather文件,並在新的格式保存的數據從頭。

其他三個錯誤,我在試圖通過改變數據格式和保存上的現有文件的頂部複製這個特殊的消息時,分別爲:

  1. *抓到段錯誤*:「內存未映射」
  2. *趕上總線錯誤*:「不存在的物理地址」,並
  3. 「這羽毛文件是舊的,將無法讀取超出了0.3.0版本」

從正面看,我是不是能夠找到返回的扭曲數據,而不是當試圖讀取損壞的.feather文件,但越來越多種類的大部分不提供信息的錯誤,對同一問題的錯誤的一個例子是不理想。

+0

沒有答案.. – buhtz