3

巨大な (4.5 GB) csv ファイルがあります。基本的な切り取りと貼り付けを実行し、いくつかの列の操作を置き換える必要があります。データはかなり整理されています。唯一の問題は、Excel で操作できないことです。サイズ (2000 行、550000 列)。

ここにデータの一部があります:

ID,Affection,Sex,DRB1_1,DRB1_2,SENum,SEStatus,AntiCCP,RFUW,rs3094315,rs12562034,rs3934834,rs9442372,rs3737728

D0024949,0,F,0101,0401,SS,yes,?,?,A_A,A_A,G_G,G_G
D0024302,0,F,0101,7,SN,yes,?,?,A_A,G_G,A_G,?_?
D0023151,0,F,0101,11,SN,yes,?,?,A_A,G_G,G_G,G_G

4 番目、5 番目、6 番目、7 番目、8 番目、9 番目の列を削除する必要があります。10 列目以降の _ 文字をすべて見つけて、スペース ( ) 文字に置き換える必要があります。すべてを置き換える必要がありますか?ゼロ (0) で; すべてのカンマをタブに置き換える必要があります。最初の行を削除する必要があります (列名があります。2 番目の列では、すべての 0 を 1 に、すべての 1 を 2 に、すべての ? を 0 に置き換える必要があります。F を 2 に、M を 1 に、? を 0 に置き換える必要があります。 3列目;

結果のファイルでは、出力は次のようになります。

D0024949 1 2 A A A A G G G G

D0024302 1 2 A A G G A G 0 0

D0023151 1 2 A A G G G G G G

(入力と出力の両方が行ごとに1行を読み取る必要があり、余分な空白行は必要ありません)Javaでそれを行うメモリ効率の良い方法はありますか(それを行うにはコードが必要です)、またはこの大きなデータを操作するための使用可能なツールExcel の機能を簡単に適用できます。

4

1 に答える 1

1

次の2つが必要です
。-正規表現(別名Regex、Regexes)の
知識-PowerGrep

于 2010-06-02T13:14:12.777 に答える