본문 바로가기

데이터분석/Python

데이터 포멧 (XML)

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