我有以下方式从JSON附加到列表上的大量字典列表。我想从每个字典中访问"原始",并将其整个存储在词典或一个巨大的词典列表中。最终目标是访问RAW中的密钥,并使用Pandas将其转换为数据框列。
results = [{ 'FirstSentences': None, 'PrintableUri': '', 'hasHtmlVersion': False, 'hasMobileHtmlVersion': False, 'isRecommendation': False, 'isTopResult': False, 'parentResult': None, 'percentScore': 100.0, 'printableUriHighlights': [], 'rankingInfo': None, 'rating': 3.0, 'raw': {'distance': 1892760.0, 'distancekm': 1892.76, 'distancemi': 1176.11, 'objecttype': 'Account', 'objecttypename': 'Account', 'plocepp': 'False', 'plochpp': 'False', 'plocsdp': 'False'}}]
我遇到的代码和错误如下:
response = [x['raw'] for x in results]
File "<ipython-input-90-64993f9dcd67>", line 1, in <module>
response = [x['raw'] for x in results]
TypeError: list indices must be integers, not str
我在这里搜索了很多答案,但找不到解决我问题的解决方案。非常感谢您提前的帮助。
键是通过列表和列表中的每个元素进行迭代,索引字典键'raw'。一种简单的方法是在列表上迭代并访问词典中的"原始"键。
简单的环路方法:
response = []
for d in results:
response.append(d['raw'])
列表理解方法
response = [d['raw'] for d in results]