-1

所以我从网站中提取了数据,我需要将其保存在 excel 中。我是 python 新手,不知道该怎么做。

这是我提取的数据,它的类型是 bs4.beautifulsoup

{"lookbook":{"img":[],"count":0},"sizeInfoDes":{"sizeInfo":[{"size":"XS","Shoulder ":" 53 cm","Bust ":" 95 cm","Length ":" 51.5 cm","Sleeve Length ":" 49.5 cm"},{"size":"S","Shoulder ":" 55 cm","Bust ":" 99 cm","Length ":" 52.5 cm","Sleeve Length ":" 50 cm"},{"size":"M","Shoulder ":" 57 cm","Bust ":" 103 cm","Length ":" 53.5 cm","Sleeve Length ":" 50.5 cm"},{"size":"L","Shoulder ":" 60 cm","Bust ":" 109 cm","Length ":" 55 cm","Sleeve Length ":" 51 cm"},{"size":"XL","Shoulder ":" 63 cm","Bust ":" 115 cm","Length ":" 56.5 cm","Sleeve Length ":" 51.5 cm"}],"sizeInfoInch":[{"size":"XS","Shoulder ":" 20.9 inch","Bust ":" 37.4 inch","Length ":" 20.3 inch","Sleeve Length ":" 19.5 inch"},{"size":"S","Shoulder ":" 21.7 inch","Bust ":" 39 inch","Length ":" 20.7 inch","Sleeve Length ":" 19.7 inch"},{"size":"M","Shoulder ":" 22.4 inch","Bust ":" 40.6 inch","Length ":" 21.1 inch","Sleeve Length ":" 19.9 inch"},{"size":"L","Shoulder ":" 23.6 inch","Bust ":" 42.9 inch","Length ":" 21.7 inch","Sleeve Length ":" 20.1 inch"},{"size":"XL","Shoulder ":" 24.8 inch","Bust ":" 45.3 inch","Length ":" 22.2 inch","Sleeve Length ":" 20.3 inch"}],"sizeUnit":0,"allcmFlag":1,"sizeInfoAttribute":[],"basicAttribute":{"image_url":"","attribute_info":[],"base_code_info":[],"base_code_info_inch":[]}},"model":{"attr":{"Height":"175 cm","Bust":"85 cm","Waist":"61 cm","Hip":"93 cm"},"size":"S","name":"Andy","attrcm":{"Height":"175 cm","Bust":"85 cm","Waist":"61 cm","Hip":"93 cm"},"attrinch":{"Height":"68.9 inch","Bust":"33.5 inch","Waist":"24 inch","Hip":"36.6 inch"},"sizeUnit":0},"getTheLookInfo":[]}

我需要提取肩部、胸围、长度和袖长值。

4

1 回答 1

0

将您拥有的数据转换为一个dictionary(它主要看起来像一个 json 文件,因此您可以使用该json模块轻松地将其转换为字典)。然后,只需使用此代码将数据输出到 Excel 文件:

from bs4 import BeautifulSoup
import pandas as pd

dictionary = {"lookbook":{"img":[],"count":0},"sizeInfoDes":{"sizeInfo":[{"size":"XS","Shoulder ":" 53 cm","Bust ":" 95 cm","Length ":" 51.5 cm","Sleeve Length ":" 49.5 cm"},{"size":"S","Shoulder ":" 55 cm","Bust ":" 99 cm","Length ":" 52.5 cm","Sleeve Length ":" 50 cm"},{"size":"M","Shoulder ":" 57 cm","Bust ":" 103 cm","Length ":" 53.5 cm","Sleeve Length ":" 50.5 cm"},{"size":"L","Shoulder ":" 60 cm","Bust ":" 109 cm","Length ":" 55 cm","Sleeve Length ":" 51 cm"},{"size":"XL","Shoulder ":" 63 cm","Bust ":" 115 cm","Length ":" 56.5 cm","Sleeve Length ":" 51.5 cm"}],"sizeInfoInch":[{"size":"XS","Shoulder ":" 20.9 inch","Bust ":" 37.4 inch","Length ":" 20.3 inch","Sleeve Length ":" 19.5 inch"},{"size":"S","Shoulder ":" 21.7 inch","Bust ":" 39 inch","Length ":" 20.7 inch","Sleeve Length ":" 19.7 inch"},{"size":"M","Shoulder ":" 22.4 inch","Bust ":" 40.6 inch","Length ":" 21.1 inch","Sleeve Length ":" 19.9 inch"},{"size":"L","Shoulder ":" 23.6 inch","Bust ":" 42.9 inch","Length ":" 21.7 inch","Sleeve Length ":" 20.1 inch"},{"size":"XL","Shoulder ":" 24.8 inch","Bust ":" 45.3 inch","Length ":" 22.2 inch","Sleeve Length ":" 20.3 inch"}],"sizeUnit":0,"allcmFlag":1,"sizeInfoAttribute":[],"basicAttribute":{"image_url":"","attribute_info":[],"base_code_info":[],"base_code_info_inch":[]}},"model":{"attr":{"Height":"175 cm","Bust":"85 cm","Waist":"61 cm","Hip":"93 cm"},"size":"S","name":"Andy","attrcm":{"Height":"175 cm","Bust":"85 cm","Waist":"61 cm","Hip":"93 cm"},"attrinch":{"Height":"68.9 inch","Bust":"33.5 inch","Waist":"24 inch","Hip":"36.6 inch"},"sizeUnit":0},"getTheLookInfo":[]}

size_info_dict = dictionary['sizeInfoDes']['sizeInfo']

final_dict = {'Shoulder ':[],
              'Bust ':[],
              'Length ':[],
              'Sleeve Length ':[]}

for curr_dict in size_info_dict:
    for key in curr_dict.keys():
        try:
            final_dict[key].append(curr_dict[key])
        except KeyError:
            pass

df = pd.DataFrame(final_dict)

df.to_excel("D:\\Output.xlsx",index = False)

输出截图:

在此处输入图像描述

希望这会有所帮助!

于 2020-10-10T14:34:47.720 回答