【问题标题】:How do i save bs4 values in xls or csv?如何将 bs4 值保存在 xls 或 csv 中?
【发布时间】:2021-01-25 09:05:21
【问题描述】:

所以我从网站中提取了数据,我需要将其保存在 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":[]}

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

【问题讨论】:

    标签: python python-3.x pandas beautifulsoup python-beautifultable


    【解决方案1】:

    将您拥有的数据转换为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)
    

    输出截图:

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2015-08-26
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多