Читать/записать/найти/заменить огромный файл CSV

StackOverflow https://stackoverflow.com/questions/2957890

Вопрос

У меня огромный (4,5 ГБ) файл CSV .. Мне нужно выполнить базовый вырез и вставить, заменить операции для некоторых столбцов. Данные довольно хорошо организованы. Единственная проблема в том, что я не могу играть с ним с Excel, потому что потому что размера (Rows 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 и заменить его символом Space (); Мне нужно заменить все? с ноль (0); Мне нужно заменить каждую запятую вкладкой; Мне нужно удалить первую строку (у которого есть имена столбцов; мне нужно заменить каждые 0 на 1, каждый 1 на 2 и каждый? С 0 во 2 -м столбце; мне нужно заменить F на 2, м на 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

(И вход, и вывод должен читать одну строку на строку, NE Extra Blank Row). Есть ли эффективный способ памяти с Java (и мне нужен код для этого) или удобный инструмент для игры с этими большими данными, чтобы, чтобы, чтобы, чтобы, чтобы, чтобы Я могу легко применить функциональность Excel ..

Нет правильного решения

Другие советы

Вам нужно две вещи:
- Знание регулярных выражений (aka regex, regexes)
- PowerGrep

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top