2016-05-23 4 views
0

をEOFとして解釈非ASCII文字を削除します。いくつかはあるを通じて、私はテキスト>2.85億レコードを持つファイルが、道の3分の2を持っているRow limit in read.table.ffdf?ここに私の以前の質問にフォローアップテキストファイルから

AWKといくつかのRパッケージ(ff、data.table)がEOFバイトとして解釈している非ASCII文字。文字はもともと度記号として入力されたものの、テキストエディタではボックス(see example here)として表示されているようです。これらのメソッドを使用してテキストファイルを読み込もうとすると、最初の文字に遭遇したときに停止し、完了したかのようにエラーメッセージは表示されません。

今のところ、これらの文字を削除するためにファイルをテキストエディタで開くことができました。しかし、このデータセットのサイズを考えると、これは長期的な解決策ではありません。私は、ファイル全体を開かなくてもそれらを削除したりバイパスしたりできるようにする必要があります。私はRのquoteオプションを使ってみましたが、特にawkのインポート中にすべての非ASCII文字と 'CTRL-M'文字を置き換えようとしましたが、読み込みプロセスは常に最初の文字で止まります。どんな解決策ですか?私は今、Rとawkを使用していますが、他のオプション(Python?)を開いています。ありがとう!

+0

実際のデータが何であるかを見ることができるように、その出力をパイプラインで捕捉する方法を見つけ出します(非ASCIIの行だけ)。編集ツールの左上にある '{}'ツールを使用して、そのデータをQに追加します。それでは、私たちは20の質問を推測してプレイします。がんばろう。 – shellter

+1

'gawk -v BINMODE = 3 '{gsub(/ [[:cntrl:]] /、" ")} 1'それらを削除しますか? –

+0

ありがとう@エドモートン、そのトリックをしたようだ! – Michel

答えて

0
gawk -v BINMODE=3 '{gsub(/[[:cntrl:]]/,"")}1 

が削除されます。

関連する問題