Python 将字典元素列表解包到数据帧中
我正在尝试解析我的itunes播放列表,它是xml格式的 下面是我试图解析的示例xml,并将最终结果放入pandas数据框架中Python 将字典元素列表解包到数据帧中,python,xml,pandas,Python,Xml,Pandas,我正在尝试解析我的itunes播放列表,它是xml格式的 下面是我试图解析的示例xml,并将最终结果放入pandas数据框架中 <dict> <key>Track ID</key><integer>3636</integer> <key>Size</key><integer>6661871</integer>
<dict>
<key>Track ID</key><integer>3636</integer>
<key>Size</key><integer>6661871</integer>
<key>Total Time</key><integer>211774</integer>
<key>Track Number</key><integer>4</integer>
<key>Track Count</key><integer>14</integer>
<key>Year</key><integer>2007</integer>
<key>Date Modified</key><date>2008-06-27T15:14:16Z</date>
<key>Date Added</key><date>2009-07-06T12:03:10Z</date>
<key>Bit Rate</key><integer>251</integer>
<key>Sample Rate</key><integer>44100</integer>
<key>Play Count</key><integer>5</integer>
<key>Play Date</key><integer>3373708724</integer>
<key>Play Date UTC</key><date>2010-11-27T13:18:44Z</date>
<key>Skip Count</key><integer>3</integer>
<key>Skip Date</key><date>2015-06-26T14:20:01Z</date>
<key>Persistent ID</key><string>E966DF081B4B40E1</string>
<key>Track Type</key><string>File</string>
<key>File Folder Count</key><integer>5</integer>
<key>Library Folder Count</key><integer>1</integer>
<key>Artist</key><string>Fall Out Boy</string>
<key>Album</key><string>Infinity On High</string>
<key>Genre</key><string>Rock</string>
<key>Kind</key><string>MPEG audio file</string>
</dict>
最终结果“oddelements”对象是元素字典列表
此列表中的每个元素字典都包含我在上面粘贴的示例xml中“dict”标记中包含的信息
我如何解析元素字典列表并将它们解压到pandas数据框架中进行进一步分析
非常感谢您的帮助类似的方法应该会奏效:
import xml.etree.ElementTree as ET
import pandas as pd
root=ET.fromstring('<dict><key>Track ID</key><integer>3636</integer></dict>')
#parsing into a dictionary
d={}
k=''
for t in root:
if t.tag=='key':
k=t.text
continue
d[k]=t.text
#transforming to a DataFrame
df=pd.DataFrame(d.items(),columns=['key','value'])
print (df)
将xml.etree.ElementTree作为ET导入
作为pd进口熊猫
root=ET.fromstring('Track ID3636')
#解析成字典
d={}
k=''
对于根目录中的t:
如果t.tag=='key':
k=t.text
持续
d[k]=t.text
#转换为数据帧
df=pd.DataFrame(d.items(),列=['key','value'])
打印(df)
类似的方法应该可以:
import xml.etree.ElementTree as ET
import pandas as pd
root=ET.fromstring('<dict><key>Track ID</key><integer>3636</integer></dict>')
#parsing into a dictionary
d={}
k=''
for t in root:
if t.tag=='key':
k=t.text
continue
d[k]=t.text
#transforming to a DataFrame
df=pd.DataFrame(d.items(),columns=['key','value'])
print (df)
将xml.etree.ElementTree作为ET导入
作为pd进口熊猫
root=ET.fromstring('Track ID3636')
#解析成字典
d={}
k=''
对于根目录中的t:
如果t.tag=='key':
k=t.text
持续
d[k]=t.text
#转换为数据帧
df=pd.DataFrame(d.items(),列=['key','value'])
打印(df)
谢谢。然而,如果我用lxml包的方式去做的话,你对如何从命令元素列表中解包键值有什么想法吗?比如说,如果我的对象是一个包含像[dict 1,dict 2…dict n]这样的字典的列表?谢谢。然而,如果我用lxml包的方式去做,你对如何从命令元素列表中解包键值有什么想法吗?比如说,如果我的对象是一个包含像[dict 1,dict 2…dict n]这样的字典的列表?