2013-06-14 4 views
2

내가 파이썬 3추출 XML 요소와 파이썬 데이터 속성 3

문제의 요소 (Atom3d)의 예를 사용하여, 특정 요소에서 추출에게 특정 속성의 값을 추출하기 위해 찾고 있어요 :

<Atom3d ID="18" Mapping="43" Parent="2" Name="C7" 
XYZ="0.0148299997672439,0.283699989318848,1.0291999578476" Connections="33,39" 
TemperatureType="Isotropic" IsotropicTemperature="0.0677" 
AnisotropicTemperature="0,0,0,0,0,0,0,0,0" Occupancy="0.708" Components="C"/> 

는 I는 XYZ 값을 추출하고, 또한이 값을 가지고 그 안에 쉼표로 구분 번호를 구분해야 할 필요가있다. 다른 형식의 다른 입력 파일에서이 숫자를 사용해야하므로 세 개의 개별 변수에 할당하고 거기에서 가져 오는 것이 좋습니다.

나는 Python에 익숙하지 않으며 XML과 관련하여 완전히 익숙하지 않다. 라이브러리가 있다면 라이브러리를 사용해야하는지, 라이브러리가 있다면 라이브러리를 사용하는 방법을 잘 모르겠습니다.

답변

1

http://docs.python.org/3/library/xml.etree.elementtree.html

>>> from xml.etree import ElementTree as ET 
>>> elem = ET.fromstring('''<Atom3d ID="18" Mapping="43" Parent="2" Name="C7" 
... XYZ="0.0148299997672439,0.283699989318848,1.0291999578476" Connections="33,39" 
... TemperatureType="Isotropic" IsotropicTemperature="0.0677" 
... AnisotropicTemperature="0,0,0,0,0,0,0,0,0" Occupancy="0.708" Components="C"/> 
... ''') 

의 get ('속성 이름')를 사용하여 GET 속성 :에 의해

>>> elem.get('XYZ') 
'0.0148299997672439,0.283699989318848,1.0291999578476' 

분할 문자열 ','

>>> elem.get('XYZ').split(',') 
['0.0148299997672439', '0.283699989318848', '1.0291999578476'] 
관련 문제