1

〜50Mbのscvファイルをfeatherパッケージのread_featherで読み込んでいます。

読み取り中にエラーが次のように生成されます。

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

このエラーの説明は見つかりませんでした。しばらく別の本を読んでいましたが、そのようなエラーは見つかりませんでした。私はそのようなエラーに少しつまずいています。

ヒントをお寄せいただきありがとうございます。

4

1 に答える 1

-1

答えは、このエラー メッセージは .feather ファイルの破損を示しているということです。ファイルを新しい形式のデータで上書きしないと、エラー メッセージは表示されなくなります。別の形式でデータを保存する前に、新しいファイルを使用するか、既存のファイルを削除してください。

私は同じ問題に遭遇しました。残念ながら、このエラー メッセージはあまり役に立ちません。同様の状況で発生する可能性がある少なくとも 4 つのメッセージのうちの 1 つに過ぎないようです。

私の場合、Python データ フレームを .feather ファイルに保存してから、R で読み取ろうとしました。データ フレーム内のデータの形式を変更した後、エラーが発生し始めました。具体的には、文字列のいくつかの列を変更しました。 int の列に、文字列の 1 つの列を float の列に変換し、データ フレームを、以前に文字列データを格納するために使用されたのと同じ .feather ファイルに保存しました。これにより、前述のエラー メッセージが表示されました。

.feather ファイルを削除し、新しい形式でデータを de novo に保存した後、すべてが完全に機能します。

データ形式を変更して既存のファイルの上に保存することにより、この特定のメッセージを複製しようとしたときに受け取った他の 3 つのエラーは次のとおりです。

  1. * segfault をキャッチ * : 「メモリがマップされていません」
  2. * キャッチされたバス エラー * : 「存在しない物理アドレス」、および
  3. 「この Feather ファイルは古いため、0.3.0 リリース以降は読み取ることができません」

良い面としては、破損した .feather ファイルを読み込もうとしたときに、エラーではなく厄介なデータを返した例を見つけることができませんでしたが、同じ問題に対してほとんど有益でない複数の種類のエラーが発生するのは理想的ではありません。

于 2016-10-03T11:49:19.640 に答える