我有一个这样的字典:
{'id': '123', 'sales_attributes': [], 'seller_sku': '123'}
我想生成一个数据帧来存储它。当我使用 pd.DataFrame() 时,它会生成一个空数据帧
当我使用 pd.json_normalize() 时,我得到了想要的结果
为什么?有人可以帮助我吗?
当您将字典传递给 DataFrame 构造函数时,它期望作为项目列出,所有列表具有相同的长度:
dic = {'id': ['123', '456'], 'seller_sku': ['123', '456']}
df = pd.DataFrame(dic)
id seller_sku
0 123 123
1 456 456
为了方便起见,您还可以传递文字,它们将扩展到所有行:
dic = {'id': ['123', '456'], 'seller_sku': ['123', '456'], 'other': 'X'}
df = pd.DataFrame(dic)
id seller_sku other
0 123 123 X
1 456 456 X
在您的情况下,有一个属性定义行数 (0) 和 2 个文字,因此输出是一个空的 DataFrame:
dic = {'id': '123', 'sales_attributes': [], 'seller_sku': '123'}
df = pd.DataFrame(dic)
Empty DataFrame
Columns: [id, sales_attributes, seller_sku]
Index: []