본문 바로가기
BackEnd/파이썬

[파이썬] xml to csv, xml형식을 데이터프레임으로 변환

by whdgus928 2023. 5. 27.
url = 'http://apis.data.go.kr/B552657/ErmctInfoInqireService/getEmrrmRltmUsefulSckbdInfoInqire'
params ={'serviceKey' : '', 'STAGE1' : , 'STAGE2' : , 'pageNo' : '1', 'numOfRows' : '1000' }

response = requests.get(url, params=params)
content = response.text

### xml을 DataFrame으로 변환하기 ###
#bs4 사용하여 item 태그 분리

xml_obj = bs4.BeautifulSoup(content,'lxml-xml')
rows = xml_obj.findAll('item')

# 각 행의 컬럼, 이름, 값을 가지는 리스트 만들기
row_list = [] # 행값
name_list = [] # 열이름값
value_list = [] #데이터값

# xml 안의 데이터 수집
for i in range(0, len(rows)):
    columns = rows[i].find_all()
    #첫째 행 데이터 수집
    for j in range(0,len(columns)):
        if i ==0:
            # 컬럼 이름 값 저장
            name_list.append(columns[j].name)
        # 컬럼의 각 데이터 값 저장
        value_list.append(columns[j].text)
    # 각 행의 value값 전체 저장
    row_list.append(value_list)
    # 데이터 리스트 값 초기화
    value_list=[]

#xml값 DataFrame으로 만들기
corona_df = pd.DataFrame(row_list, columns=name_list)

api에 맞게 url과 params를 입력하시면 됩니다

반응형

댓글