#python-3.x #xml #pandas #dataframe #jupyter
#python-3.x #xml #pandas #фрейм данных #jupyter
Вопрос:
У меня есть XML-набор данных pdb_params
с таким именем:
"<?xml version='1.0' standalone='no' ?>n<dataset>n <record>n <dimEntity.structureId>3J7A</dimEntity.structureId>n <dimEntity.chainId>1</dimEntity.chainId>n <dimStructure.structureTitle>Cryo-EM structure of the Plasmodium falciparum 80S ribosome bound to the anti-protozoan drug emetine, small subunit</dimStructure.structureTitle>n <dimStructure.ndbId>null</dimStructure.ndbId>n <dimStructure.resolution>3.2</dimStructure.resolution>n <dimStructure.structureMolecularWeight>1263059.88</dimStructure.structureMolecularWeight>n <dimStructure.macromoleculeType>Protein#RNA</dimStructure.macromoleculeType>n <dimStructure.residueCount>7121</dimStructure.residueCount>n <dimEntity.entityId>27</dimEntity.entityId>n <dimEntity.chainLength>133</dimEntity.chainLength>n <dimEntity.db_id>Q8I3R6</dimEntity.db_id>n <dimEntity.db_name>UniProt</dimEntity.db_name>n <dimEntity.molecularWeight>15431.5</dimEntity.molecularWeight>n <dimEntity.compound>40S ribosomal protein eS24</dimEntity.compound>n <dimEntity.taxonomyId>5833</dimEntity.taxonomyId>n <dimEntity.uniprotAcc>Q8I3R6</dimEntity.uniprotAcc>n <dimStructure.pubmedId>24913268</dimStructure.pubmedId>n </record>n <record>n <dimEntity.structureId>3J7A</dimEntity.structureId>n <dimEntity.chainId>2</dimEntity.chainId>n <dimStructure.structureTitle>Cryo-EM structure of the Plasmodium falciparum 80S ribosome bound to the anti-protozoan drug emetine, small subunit</dimStructure.structureTitle>n <dimStructure.ndbId>null</dimStructure.ndbId>n <dimStructure.resolution>3.2</dimStructure.resolution>n <dimStructure.structureMolecularWeight>1263059.88</dimStructure.structureMolecularWeight>n <dimStructure.macromoleculeType>Protein#RNA</dimStructure.macromoleculeType>n <dimStructure.residueCount>7121</dimStructure.residueCount>n <dimEntity.entityId>28</dimEntity.entityId>n <dimEntity.chainLength>105</dimEntity.chainLength>n <dimEntity.db_id>Q8ILN8</dimEntity.db_id>n <dimEntity.db_name>UniProt</dimEntity.db_name>n <dimEntity.molecularWeight>11691.9</dimEntity.molecularWeight>n <dimEntity.compound>40S ribosomal protein eS25</dimEntity.compound>n <dimEntity.taxonomyId>5833</dimEntity.taxonomyId>n <dimEntity.uniprotAcc>Q8ILN8</dimEntity.uniprotAcc>n <dimStructure.pubmedId>24913268</dimStructure.pubmedId>n </record>n <record>n <dimEntity.structureId>3J7A</dimEntity.structureId>n <dimEntity.chainId>3</dimEntity.chainId>n <dimStructure.structureTitle>Cryo-EM structure of the Plasmodium falciparum 80S ribosome bound to the anti-protozoan drug emetine, small subunit</dimStructure.structureTitle>n <dimStructure.ndbId>null</dimStructure.ndbId>n <dimStructure.resolution>3.2</dimStructure.resolution>n <dimStructure.structureMolecularWeight>1263059.88</dimStructure.structureMolecularWeight>n <dimStructure.macromoleculeType>Protein#RNA"
он был загружен из базы данных PDB с помощью RestAPI с помощью этой команды:
baseURL = ('http://www.rcsb.org/pdb/rest/customReport?pdbids=%samp;customReportColumns=structureTitle,ndbId,resolution,structureMolecularWeight,macromoleculeType,residueCount,entityId,chainLength,db_id,db_name,molecularWeight,compound,taxonomyId,entityId,uniprotAcc,taxonomyId,pubmedId,pubmedIdamp;service=wsdisplayamp;ssa=nullamp;primaryOnly=1amp;service=wsfile' % (_query))
result = requests.get(baseURL)
В настоящее время он рассматривается как словарь.
Я хотел бы отформатировать данные и преобразовать их в фрейм данных pandas. Как мне это сделать?
Я уже пробовал json
jason = json.dumps(pdb_params)
file = StringIO(jason)
К сожалению, я получаю ошибки и, вероятно, есть более эффективный способ выполнения этой задачи
Комментарии:
1. Я не понимаю. Это Json, XML или CSV?
2. Именно XML помещается в словарь. Затем я попытался преобразовать этот словарь в строку с помощью Json, чтобы затем он был доступен для чтения Pandas