質問

私は巨大な(4,5 GB)CSVファイルを持っています。基本的なカットと貼り付けを実行し、いくつかの列の操作を交換する必要があります。データはかなりよく整理されています。サイズ(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);すべてのコンマをタブに置き換える必要があります。最初の行を削除する必要があります(列名があります。すべての0を1に、1すべての1に置き換える必要があります。 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行、ne余分な空白の行を読み取る必要があります)Javaでそれを行うためのメモリ効率的な方法があります(そして、それを行うにはコードが必要です)、またはこの大きなデータを再生するための使用可能なツールがあります。 Excel機能を簡単に適用できます。

正しい解決策はありません

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top