如何从Python Requests的JSON响应中提取库存与SKU数据?
提取JSON响应中variants字段的inventory_quantity和sku并存入DataFrame
你可以通过以下步骤从返回的JSON数据中提取目标字段,并将其存入Pandas DataFrame:
步骤说明
- 定位变体数据:从响应的
metadata -> input_products[0] -> variants路径获取所有产品变体数组 - 提取目标字段:遍历每个变体对象,提取
sku和inventory_quantity字段 - 构建DataFrame:将提取的字段数据转换为DataFrame格式,方便后续可视化
修改后的完整代码
import requests import pandas as pd import json url = "https://rebuyengine.com/api/v1/custom/id/37597? key=c30f8541bcce849905613e432e4c7c9170829adf&limit=1&url=https%3A%2F%2Fspearmintlove.com%2Fproducts%2Frylee-cru-beach-bucket-hat-laurel-plaid&shopify_product_ids=7599681372332&shopify_variant_ids=&shopify_collection_ids=0&shopify_order_ids=&metafields=yes&variant_metafields=yes&uuid=3f8fc02e-3476-4583-80b4-85f9d6670e2e&cache_key=1678199511" payload={} headers = { 'authority': 'rebuyengine.com', 'accept': '*/*', 'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8', 'origin': 'https://spearmintlove.com', 'referer': 'https://spearmintlove.com/', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'cross-site', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' } response = requests.request("GET", url, headers=headers, data=payload) r = response.json() # 提取目标字段并构建DataFrame inventory_data = [] # 先判断input_products是否有数据,避免索引错误 if r.get('metadata', {}).get('input_products'): variants = r['metadata']['input_products'][0]['variants'] for variant in variants: inventory_data.append({ 'sku': variant['sku'], 'inventory_quantity': variant['inventory_quantity'] }) # 转换为DataFrame df = pd.DataFrame(inventory_data) print(df)
输出示例
sku inventory_quantity 0 RCBeachBucketHatLaurelPlaidS/M 0 1 RCBeachBucketHatLaurelPlaidM/L 1
处理后你可直接使用df进行后续可视化操作。
内容的提问来源于stack exchange,提问作者cm917
相关产品推荐
相关产品推荐

