如何在python中将HTML表转换为数组

发布于 2021-01-29 15:06:21

我有一个html文档,我想从该文档中提取表格并将它们作为数组返回。我正在描绘两个函数,一个函数找到文档中的所有html表,第二个函数将html表转换为二维数组。

像这样:

htmltables = get_tables(htmldocument)
for table in htmltables:
    array=make_array(table)

有2个要注意的地方:1.号码表每天变化2.表格具有各种奇怪的额外格式,例如随机添加的粗体和眨眼标记。

谢谢!

关注者
0
被浏览
72
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Pandas可以立即将html中的所有表格提取到数据框列表中,从而使您不必自己解析页面(重新设计轮子)。甲数据帧是一个强大的类型2维阵列的。

    我建议继续通过Pandas处理数据,因为它是一个很好的工具,但是如果您愿意,也可以转换为其他格式(列表,字典,csv文件等)。

    """Extract all tables from an html file, printing and saving each to csv file."""
    
    import pandas as pd
    
    df_list = pd.read_html('my_file.html')
    
    for i, df in enumerate(df_list):
        print df
        df.to_csv('table {}.csv'.format(i))
    

    直接从Web而不是从文件获取html内容仅需稍作修改:

    import requests
    
    html = requests.get('my_url').content
    df_list = pd.read_html(html)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看