首页 > 解决方案 > 处理数据框的不匹配形状

问题描述

我正在尝试使用 selenium 的单击按钮来抓取网站,所以我抓取了许多页面的表格:* 几乎每个表格的表格模式都是相同的,假设我们有一个列表:这是我的表格的标题,它包含 5 列我把它当作静态类型

header = ["a", "b", "c", "d", "e"]

和一个语料库作为一个列表也有 5 列,如:

["abc", "edf", "dfk", "kkk""...", 
 "...", "...", "...", "...",
"...", "...", "...", "..."]

这是我的问题,有时与标题“b”对应的列丢失了。所以当我像 pd.DataFrame(line, columns = header) 那样构建我的数据帧时,有时 len(line) == line(header) 所以没关系,有时不是这里是我的代码,当它不工作时

def function(parameters) : 
    ....
    web scraping 
    ....
    try : 
        df = pd.DataFrame(table, columns = header)
        return df
    except ValueError :
        print("table and header columns shape mismatch") 
    else : 
        for line in table : # table is corpus list
            line.insert(1, "None") # i know that every missing columns is the 2nd one so i add None to add that missing columns
            # in theory shape must match so i build df
        df = pd.DataFrame(table, columns = header)
        return df

但我仍然有错误的列不匹配,所以我想知道我的错误或替代方法在哪里。我希望这清楚。谢谢。

标签: pythonweb-scraping

解决方案


推荐阅读