我有一个巨大的字典列表,从下面的方式附加到JSON列表中。我想从每个字典中访问“raw”并将其整个存储在字典列表或一个庞大的字典中。最终目标是访问raw中的密钥,并使用pandas将它们转换为dataframe列。
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
我在这里搜索了很多答案,但找不到我的问题的解决方案。非常感谢您的帮助。
答案 0 :(得分:0)
关键是遍历列表,对于列表中的每个元素,索引字典键&#39; raw&#39;。 一种简单的方法是遍历列表并访问密钥&#39; raw&#39;在字典里。
简单的for循环方法:
response = []
for d in results:
response.append(d['raw'])
列表理解方法
response = [d['raw'] for d in results]