问题:json_normalize无法展平作为字典列表的列。
答案:json_normalize函数用于将嵌套的JSON数据展平成扁平化的表格形式。然而,当JSON数据中存在字典列表(即列表中的元素是字典)时,json_normalize函数在展平这些列时会出现问题。
解决办法之一是使用pandas库中的json_normalize函数。该函数可以递归展开字典列表,并将结果展平成扁平化的表格。
以下是使用json_normalize函数解决该问题的示例代码:
import pandas as pd
from pandas.io.json import json_normalize
data = [
{
"name": "John",
"age": 30,
"cities": [
{"name": "New York", "population": 8623000},
{"name": "Los Angeles", "population": 3990000}
]
},
{
"name": "Alice",
"age": 25,
"cities": [
{"name": "San Francisco", "population": 883305},
{"name": "Chicago", "population": 2720546}
]
}
]
df = json_normalize(data, 'cities', ['name', 'age'])
print(df)
该代码中,我们定义了一个包含嵌套的JSON数据的列表data。每个元素包含一个姓名、年龄和一个城市字典列表。通过调用json_normalize函数,并指定列名'cities',以及要保留的其他列'name'和'age',我们可以将城市列展开为扁平化的表格。
答案中提到的腾讯云相关产品和产品介绍链接地址如下:
请注意,以上仅为示例,实际上并不推荐使用特定品牌商的产品。这里只是为了提供一些参考,方便理解该问题的解决思路。
领取专属 10元无门槛券
手把手带您无忧上云