Eu tenho um arquivo com ~ 13K linhas, contendo duas colunas. Eu quero extrair os valores em 'phNAME': 'value'
, mas cada linha pode ter mais de um phNAME
.
Caso haja mais de um phNAME
em uma única linha, quero gravar cada valor phNAME
em uma linha separada (ver amostras de entrada e saída) .
Aqui está uma amostra do arquivo de entrada:
ENSG00000268674 "[{'rgID': 'AMBN10042640', 'probeID': '246945', 'phenodata': [{'phcluster': '7', 'howgood': '1', 'bestgenes': '539', 'ScrID': 'M1_SyM_1', 'phenotypes': [{'ScrID': 'M1_SyM_1', 'phNAME': 'Dynamic changes', 'phID': 7, 'phWEIGHT': 1}]}], 'goodmatch': 0}, {'probeID': '249958', 'rgID': 'AMBN10047320', 'goodmatch': 0, 'phenodata': [{'phenotypes': [{'ScrID': 'E1_SyM_1', 'phWEIGHT': 1, 'phID': 2, 'phNAME': 'Strong inhibition of secretion'}], 'ScrID': 'E1_SyM_1', 'phcluster': '2', 'howgood': '1', 'bestgenes': '1378'}]}]"
ENSG00000215268 "[{'probeID': '105114', 'rgID': 'AMBN10004073', 'goodmatch': 0, 'phenodata': [{'howgood': '0.5', 'phcluster': '7', 'bestgenes': '539', 'phenotypes': [{'ScrID': 'M1_SyM_1', 'phNAME': 'Dynamic changes', 'phID': 7, 'phWEIGHT': 0.5}], 'ScrID': 'M1_SyM_1'}]}]"
ENSG00000130538 "[{'rgID': 'AMBN10042690', 'probeID': '247755', 'phenodata': [{'phenotypes': [{'phNAME': 'Intracellular retention of SH4(YES)-mCherry', 'phID': 2, 'phWEIGHT': 0.5, 'ScrID': 'B1_SyM_1'}], 'ScrID': 'B1_SyM_1', 'bestgenes': '984', 'howgood': '0.5', 'phcluster': '2'}], 'goodmatch': 0}]"
Minha saída desejada é assim:
ENSG00000268674 Dynamic changes
ENSG00000268674 Strong inhibition of secretion
ENSG00000215268 Dynamic changes
ENSG00000130538 Intracellular retention of SH4(YES)-mCherry