Pregunta

Tengo un archivo CSV enorme (4,5 GB). Necesito realizar un corte y pegar básicos, reemplazar las operaciones para algunas columnas. Los datos están bastante bien organizados. El único problema es que no puedo jugar con Excel porque del tamaño (2000 filas, 550000 columnas).

Aquí hay alguna parte de los datos:

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

Necesito eliminar las columnas 4, 5, 6, 7, 8 y 9; Necesito encontrar cada _ carácter de la columna 10 en adelante y reemplazarlo con un carácter de espacio (); Necesito reemplazar cada con cero (0); Necesito reemplazar cada coma con una pestaña; Necesito eliminar la primera fila (que tiene nombres de columnas; necesito reemplazar cada 0 con 1, cada 1 con 2 y cada uno? Con 0 en segunda columna; necesito reemplazar F con 2, m con 1 y? Con 0 en Tercera columna;

de modo que en el archivo resultante se lee la salida:

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

(Tanto la entrada como la salida deben leer una línea por fila, NE extra fila en blanco) ¿Existe una forma de memoria eficiente de hacerlo con Java (y necesito un código para hacerlo) o una herramienta utilizable para jugar con estos grandes datos para que Puedo aplicar fácilmente la funcionalidad de Excel.

No hay solución correcta

Otros consejos

Necesitas dos cosas:
- Conocimiento de expresiones regulares (también conocido como regex, regexis)
- Powergrep

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top