我想在一个由字典和另一个列表组成的列表上使用循环函数创建一个dataFrame。
list = [{'sitemap': [{'path': 'http://test.com',
'errors': '0',
'contents': [{'type': 'web', 'submitted': '34801', 'indexed': '4656'}]}]},
{'sitemap': [{'path': 'https://example.com',
'errors': '0',
'contents': [{'type': 'web', 'submitted': '2329'}]}]}]
字符串
最初,这是我尝试的:
data_for_df = []
for each in list:
temp = []
temp.append(each['sitemap'][0]['path'])
temp.append(each['sitemap'][0]['errors'])
temp.append(each['sitemap'][0]['contents'][0]['type'])
temp.append(each['sitemap'][0]['contents'][0]['submitted'])
temp.append(each['sitemap'][0]['contents'][0]['indexed'])
data_for_df.append(temp)
df = pd.DataFrame(data_for_df, columns =['path','lastSubmitted','type','submitted'])
型
但是,我发现这个查询返回错误,因为有时会缺少key:values。在此示例中,缺少“indexed”的key:value对。当发生这种情况时,我想返回空值或替换为空值。有人能帮我吗?
1条答案
按热度按时间ma8fv8wu1#
也许在这种情况下使用
pd.json_normalize
就足够了:字符串
印刷品:
型