python从字典值求和帧

python从字典值求和帧,python,dictionary,time,sum,append,Python,Dictionary,Time,Sum,Append,我有一个包含某种播放列表的xml文件 当我解析它时,我想求和帧 XML如下所示: <PLAYLIST> <type>COMMERCIAL</type> <frames>94</frames> <starttime>02-02-2021 01:30:55:914</starttime> </PLAYLIST> <PLAYLIST> <ty

我有一个包含某种播放列表的xml文件 当我解析它时,我想求和帧

XML如下所示:

    <PLAYLIST>
    <type>COMMERCIAL</type>
    <frames>94</frames>
    <starttime>02-02-2021 01:30:55:914</starttime>
  </PLAYLIST>
  <PLAYLIST>
    <type>COMMERCIAL</type>
    <frames>96</frames>
    <starttime>02-02-2021 01:35:55:914</starttime>
  </PLAYLIST>
  <PLAYLIST>
    <type>COMMERCIAL</type>
    <frames>120</frames>
    <starttime>02-02-2021 02:30:55:914</starttime>
  </PLAYLIST>
  <PLAYLIST>
    <type>COMMERCIAL</type>
    <frames>180</frames>
    <starttime>02-02-2021 02:40:55:914</starttime>
  </PLAYLIST>

这里有一个想法:还包括一个谷歌合作链接:

其思想是使用默认字典,它允许您根据某个键灵活地分组,并在出现键时增加其值

从日期时间导入日期时间
从bs4导入BeautifulSoup
从集合导入defaultdict
data=“””02-02-2021 01:30:52:15494
02-02-2021 01:50:52:12496
02-02-2021 02:50:52:124120
02-02-2021 02:50:52:124180"""
小时总和=默认值(整数)
行=数据。拆分('\n')
对于行中的行:
soup=BeautifulSoup(行“html.parser”)
时间=汤。查找('starttime')。获取文本()
hour_piece=time.split(“”)[1]。split(‘:’)[0]
frames=int(soup.find('frames')。get_text())
小时总和[小时片]+=帧
那么输出是:
defaultdict(int,{'01':190,'02':300})

您必须提供更多信息,并使其可复制以获得一个好的答案(没有人可以将其复制到自己的编辑器中并运行它)。您在
dom.findall()
中使用的库是什么?很好,我是python新手,不知道defaultdict,我学到了一些新东西。非常好-很高兴能提供帮助-查看集合模块,有很多方便的实用程序。
import os
import xml.etree.ElementTree as ET
from timecode import Timecode


file = '/home/Myxml.xml'
dom = ET.parse(file)

lista = dom.findall('PLAYLIST')


listXML = []
for l in lista:

    type_md = l.find('type')  # COMMERCIAL
    start_time = l.find('starttime')  # početak emitiranja
    frames = l.find('frames')  # TC Duration

    if type_md.text == 'COMMERCIAL':
        listXML.append(start_time.text[11:-10])
        listXML.append(frames.text)

listXML = list(zip(listXML[::2], listXML[1::2]))

clock_dict = {}
for x in listXML:
    x_dict = list(zip(x[::2], x[1::2]))
    clock_dict.update(x_dict)

print(clock_dict)


# print(clock_dict)