How to parse xml file in gcp jupyter notebook with url
import xml.etree.ElementTree as ET
import urllib.request
def parsefile(path):
response = urllib.request.urlopen(path).read()
tree = ET.fromstring(response)
print(tree)
time = tree.findall("event")
starttime = [x.findtext("starttime") for x in time]
duration = [x.findtext("duration") for x in time]
if len(startlist) >= 2:
starttime = int(startlist[0])*60 + int(startlist[1])
alltime = starttime + int(durationlist[0])*60 + int(durationlist[1])
return (starttime + alltime) / 2 # 중간으로 잘라줌
else:
pass
<?xml version='1.0' encoding='utf-8'?>
<annotation>
<folder>datefight</folder>
<filename>194-6_cam01_datefight02_place02_night_spring.mp4</filename>
<source>
<database>NIA2019 Database v1</database>
<annotation>NIA2019</annotation>
</source>
<size>
<width>3840</width>
<height>2160</height>
<depth>3</depth>
</size>
<header>
<duration>00:05:15.6</duration>
<fps>30</fps>
<frames>9468</frames>
<inout>IN</inout>
<location>PLACE02</location>
<season>SPRING</season>
<weather>SUNNY</weather>
<time>NIGHT</time>
<population>3</population>
<character>M20,M20,F20</character>
</header>
<event>
<eventname>datefight</eventname>
<starttime>00:02:50.6</starttime>
<duration>00:01:34.9</duration>
</event>
<object>
<objectname>Person_1</objectname>
위 코드는 행동의 시간, 지속시간 정보가 있는 xml 파일을 파싱하여
행동의 시작시간+종료시간의 중간을 계산한다.
'개발' 카테고리의 다른 글
자바 스프링부트 앱- 로그 레벨별로 여러 로그 파일 남기기 (0) | 2022.01.23 |
---|---|
쉘스크립트로 슬랙 메시지 보내는 방법 (0) | 2021.11.18 |
코랩 프로+, colab pro plus 요금제 사용기 (6) | 2021.08.16 |
Mongodb에서 특정한 문자열 검색해서 결과물 리턴하기 (0) | 2021.06.10 |
VS Code 터미널 안 될때 해결법 (0) | 2021.05.30 |