XML, JSON 어디서 들어본것 같았는데 데이터 포멧인지 오늘 알았다...
1. XML 정의
XML(Extensible Markup Language) 이라는데 와 닿지 않는다
기본 구조는 아래와 같다.
<태그 속성 = "속성값"> 내용 </태그>
기본 구조도 어렵다. 직관적으로 뭔소린지 모르겠다.
일단 지금은 태그와 속성을 대분류, 소분류의 개념정도로 이해하고
대분류 소분류 밑에는 다른 대분류 소분류가 올 수 있다는 정도로만 이해하고 넘어간다.
2. XML 파일 읽고 데이터 추출해보자.
파이썬에서 XML 파일을 읽고 추출하는 과정은 형식화 되어있는 듯.
① bs4 라이브러리 import & Open 함수로 xml 읽기
data_file = open(./users.xml', 'r', encoding = 'utf-8-sig')
② xml 데이터 파싱하기
soup = BeautifulSoup(data_file, 'xml')
③ select()으로 원하는 데이터 태그 선택하기
users = soup.select('user')
④ select()로 선택된 데이터는 리스트 타입이므로, for문과 text 함수로 데이터 추출
for user in users:
print(user.text)
users.xml <users> <user rank="1"> <name>잔재미코딩</name> <age>30</age> </user> <user rank="2"> <name>Dave Lee</name> <age>21</age> </user> </users> |
3. users.xml에서 이름과 나이를 각각 추출하려면?
select_one 함수를 사용하자.
for user in users:
print('name : ', user.select_one('name').text)
print('age :', user.select_one('age').text)
XML 끝. 솔직히 50% 도 이해못함. 복습 필요함..
'데이터분석 > Python' 카테고리의 다른 글
데이터 포맷 (JSON) (0) | 2021.07.08 |
---|---|
파일 포맷 이해(CSV) (0) | 2021.07.07 |
파일 포맷 이해 (Plain Text) (0) | 2021.07.07 |