python: xml to json

chez·2022년 6월 26일

python

목록 보기
3/8
post-thumbnail

개인적으로 쓰려고 만들었으나, 매우 편해서 공유 합니다.

#사용할 라이브러리 설치
# !pip install xmltodict

import os # 파일 읽고, 쓰고, 위치 지정
import json # json 라이브러리
import xmltodict # xml 읽는 라이브러리

#xml이 있는 위치 -> 이폴더 안에 xml 파일만 존재 해야함. 
xml_path="xml 파일의 절대 경로 위치"
# \ 을 / 로 수정해서 작성
# json을 넣을 위치
json_path = "변환된 파일을 넣을 절대 경로 위치"

# xml 파일을 읽어서 리스트에 이름 담는다.
file_list = os.listdir(xml_path) #주의 폴더 안에 xml 파일이 아닌 파일이 있으면 에러가 난다.

# 반복
for i in range(len(file_list)):
  #처음 작업할 파일 이름 읽기
  temp_str = file_list[i]
  #그중 .xml 확장자를 지운다.
  name = temp_str.replace(".xml","")
  #최대 길이 80자 까지 가능하다.-> 코랩 기준
  name = name[:80] # 위의 작업으로 파일 이름 지정
  print(name) # 작업중인 파일의 이름 -> 멈출시 여기서 에러 발생

  #읽어오기
  with open(xml_path+'/'+file_list[i],'r',encoding='UTF8') as f:
    xmlString = f.read()
  jsonString = json.dumps(xmltodict.parse(xmlString), indent=3, ensure_ascii=False)
  
  #작성하기
  with open(os.path.join(json_path, f"{name}.json"), 'w',encoding='UTF8') as f:
    f.write(jsonString)
    

이대로 복붙하여 쓰심 됩니다.
에러 나는 원인 -> CDATA로 xml 파일을 수정하면 거의다 됩니다.

profile
무언가 만드는데, 이것이 뭐시당가

0개의 댓글