【python报错】读入xml文件,读取字典中特定的键时报错,‘dict_keys‘ object is not subscriptable

读入xml文件时,通常要把里面的数据整理成易读的字典格式。
当我们想从xml文件中读取字典的键,把它存入列表时,报错’dict_keys’ object is not subscriptable
说明dict_keys不是严格的列表型数据。

from xml.etree import ElementTree as ET

tree = ET.parse('data-wrangling-master\data\chp3\data-text.xml')
root = tree.getroot()

data = root.find('Data')

# 创建列表all_data
all_data = []

for observation in data:
    # 创建字典record
    record = {}
    for item in observation:
        key_name = (item.attrib.keys())[0]
        print(key_name)

报错
只需要强行转换为列表数据即可:

from xml.etree import ElementTree as ET

tree = ET.parse('data-wrangling-master\data\chp3\data-text.xml')
root = tree.getroot()

data = root.find('Data')

# 创建列表all_data
all_data = []

for observation in data:
    # 创建字典record
    record = {}
    for item in observation:
        key_name = (list(item.attrib.keys()))[0]
        print(key_name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值