我有一个数组,其中包含有关在开放XML中抓取的表单的详细信息。关键格式是时髦的,这就是为什么我很难轻易获得价值。键值对的简单循环不会返回我想要的数据。这是我目前所在的地方,我正在使用python3。
person = [{'{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': 'Title'}, {'http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': 'FirstName'}, {'{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': 'LastName'},{'{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': 'Age'}]
for k in person:
print(k.values())
返回
dict_values(['Title'])
dict_values(['FirstName'])
dict_values(['LastName'])
dict_values(['Age'])
我如何解析这些键:值对,这样我就不会在值前面得到dict_values。
所需的输出如下所示:
Title
FirstName
LastName
Age
如果我这样做:
for k in person:
for key, value in k:
print(v)
我收到了太多值的错误,无法解压缩,只有2,所以我不明白错误是什么。在单个对象上运行时长度为1
答案 0 :(得分:0)
这里的格式效率相当低。您有一个包含词典的列表,每个词典中只包含一个键值对。如果您的代码会在一个对象中生成一个包含所有键值对的单个字典,那么情况会好一些。
您现在正在打印.values()
dictionary view object。每个只包含一个值。您可以遍历对象并打印每个视图的每个值:
for k in person:
for value in values():
print(value)
或者您可以将所有词典合并为一个,然后直接循环遍历该单个词典的值:
combined = dict(item for d in person for item in d.items())
for value in combined.values():
print(value)