У меня есть текстовый файл в этом формате, а ужасающем HTML:Разбор текстового файла в R с различными разделителями
A<b>Metabolism</b>
B
B <b>Overview</b>
C 01200 Carbon metabolism [PATH:bpe01200]
D BP3142 pgi; glucose-6-phosphate isomerase K01810 GPI; glucose-6-phosphate isomerase [EC:5.3.1.9]
D BP1971 pgi; glucose-6-phosphate isomerase K01810 GPI; glucose-6-phosphate isomerase [EC:5.3.1.9]
D BP1519 fba; fructose-1,6-bisphosphate aldolase K01624 FBA; fructose-bisphosphate aldolase, class II [EC:4.1.2.13]
D BP0801 tpiA; triosephosphate isomerase K01803 TPI; triosephosphate isomerase (TIM) [EC:5.3.1.1]
D BP1000 gap; glyceraldehyde-3-phosphate dehydrogenase K00134 GAPDH; glyceraldehyde 3-phosphate dehydrogenase [EC:1.2.1.12]
Я хотел бы разобрать этот файл на столбцы в R.
таких as:
A,Metabolism
B,
B,Overview
C,01200,Carbon metabolism,Path,bpe01200
D,BP3142,Pgi,glucose-6-phosphate isomerase,GPI,glucose-6-phosphate isomerase,[EC:5.3.1.9]
...
D,BP1000,gap,glyceraldehyde-3-phosphate dehydrogenase,K00134,GAPDH,glyceraldehyde 3-phosphate dehydrogenase,[EC:1.2.1.12]
Проблема заключается в том, что разделитель изменяется в каждой части линии. кажется, следовать этому образцу
напримерD BP1971 pgi; glucose-6-phosphate isomerase K01810 GPI; glucose-6-phosphate isomerase [EC:5.3.1.9]
^Tab ^space^Semi colon ^tab ^space^semi colon
я могу думать о не так умном способе сделать it.By разбор 1 разделитель в то время. Но есть ли у кого-нибудь умные решения? или знаете инструмент, который может хорошо это интерпретировать?
Я бы очень признателен за помощь :)
Благодарности
Если преобразовать все разделители в строке с тем же разделителем, например, 'tab',' space' и 'semicolon' до' tab' с глобальной находкой и заменой, тогда вам нужно иметь дело только с одним разделителем, и это должно быть легко. Примечание. Я никогда не использовал R, но этот метод довольно прост и работает во многих системах. Поскольку я не использую R, я не отправляю это как ответ, но если вы проверите это, и оно будет работать, и вы хотите, чтобы это было ответом, просто дайте мне знать, и я отправлю его в качестве ответа. –
Я бы пошел с регулярными выражениями. –
@GuyCoder интересная идея. давая ему идти сейчас, это определенно упрощает проблему. но также полностью не разрешает его, поскольку уничтожает 3 строки слов, которые у меня есть в некоторых полях. –