У меня есть текстовый файл, разделенный табуляцией. Они могут быть довольно большими до 1 ГБ. У меня будет переменное количество столбцов в зависимости от количества образцов в них. Каждый образец имеет восемь столбцов. Например, sampleA: ID1, id2, MIN_A, AVG_A, MAX_A, AR1_A, AR2_A, AR_A, AR_5. Из которых ID1 и ID2 являются общими для всех образцов. Чего я хочу добиться, так это разбить весь файл на куски файлов в зависимости от количества выборок.
ID1,ID2,MIN_A,AVG_A,MAX_A,AR1_A,AR2_A,AR3_A,AR4_A,AR5_A,MIN_B, AVG_B, MAX_B,AR1_B,AR2_B,AR3_B,AR4_B,AR5_B,MIN_C,AVG_C,MAX_C,AR1_C,AR2_C,AR3_C,AR4_C,AR5_C
12,134,3535,4545,5656,5656,7675,67567,57758,875,8678,578,57856785,85587,574,56745,567356,675489,573586,5867,576384,75486,587345,34573,45485,5447
454385,3457,485784,5673489,5658,567845,575867,45785,7568,43853,457328,3457385,567438,5678934,56845,567348,58567,548948,58649,5839,546847,458274,758345,4572384,4758475,47487
Вот так выглядит мой файл модели, я хочу, чтобы он был:
File A :
ID1,ID2,MIN_A,AVG_A,MAX_A,AR1_A,AR2_A,AR3_A,AR4_A,AR5_A
12,134,3535,4545,5656,5656,7675,67567,57758,875
454385,3457,485784,5673489,5658,567845,575867,45785,7568,43853
File B:
ID1, ID2,MIN_B, AVG_B, MAX_B,AR1_B,AR2_B,AR3_B,AR4_B,AR5_B
12,134,8678,578,57856785,85587,574,56745,567356,675489
454385,3457,457328,3457385,567438,5678934,56845,567348,58567,548948
File C:
ID1, ID2,MIN_C,AVG_C,MAX_C,AR1_C,AR2_C,AR3_C,AR4_C,AR5_C
12,134,573586,5867,576384,75486,587345,34573,45485,5447
454385,3457,58649,5839,546847,458274,758345,4572384,4758475,47487.
Есть ли простой способ сделать это, кроме тщательного изучения массива?
Как я сработал, моя логика подсчитывает (количество заголовков - 2), и, разделив их на 8, я получу количество сэмплов в файле. И затем, проходя каждый элемент в массиве и анализируя их. Кажется, утомительный способ сделать это. Я был бы счастлив узнать любой более простой способ справиться с этим.
Спасибо
Sipra