首页 > 解决方案 > 如果其中一个值为空,Python 会继续打印。csv字典

问题描述

有些desc项目可能是空的。这就是csv为空白的原因吗?我怎样才能让它忽略并继续打印?

        try:
            name = div.find_element_by_class_name('styles_itemNameText__3bcKX')
            price = div.find_element_by_class_name('rupee')
            desc = div.find_element_by_class_name('styles_itemDesc__MTsVd')
            dict1 = {'Item Name': name.text, "Price": price.text, "Description": desc.text}
            with open(f'{search_city}_{res_n}.csv', 'a+', encoding='utf-8') as f:
                w = csv.DictWriter(f, dict1.keys())
                if not header_added:
                    w.writeheader()
                    header_added = True
                w.writerow(dict1)
        except:

标签: pythonpython-3.xcsvtry-catch

解决方案


try:
    name = div.find_element_by_class_name('styles_itemNameText__3bcKX')
    price = div.find_element_by_class_name('rupee')
    
    # What i added
    if div.find_elements_by_class_name('styles_itemDesc__MTsVd'):
        desc = div.find_element_by_class_name('styles_itemDesc__MTsVd').text
    else:
        desc = None

    dict1 = {'Item Name': name.text, "Price": price.text, "Description": desc}
    with open(f'{search_city}_{res_n}.csv', 'a+', encoding='utf-8') as f:
        w = csv.DictWriter(f, dict1.keys())
        if not header_added:
            w.writeheader()
            header_added = True
        w.writerow(dict1)
except:

使用 if 语句来设置desc取决于条件的值。


推荐阅读