当前位置: 首页 > 面试题库 >

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

巩镜
2023-03-14
问题内容

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

像这样:

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

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

谢谢!


问题答案:

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)


 类似资料:
  • 我有很多HTML表,我正在尝试将其转换为json格式,但我的代码只适用于第一个水平表(第一个图像),而不是第二个垂直表(第二个图像)... 我在这里附上了我的代码和示例表 到目前为止我尝试的代码 以上HTML表的输出: 表2的HTML代码 null 如果表是水平表(表1),那么旧的输出就足够了 如果表是一个垂直表(表2),那么输出应该如下所示: 我试过修改代码,但对我没有任何建议???

  • 问题内容: 有没有一种真正简单的方法可以获取JSON对象数组并将其转换为HTML表(不包括几个字段)?还是我必须手动执行此操作? 问题答案: 我不确定这是否是您想要的,但是有jqGrid。它可以接收JSON并生成网格。

  • 问题内容: 我有以下格式的行: 现在,我要在文件中写入以下内容: 基本上将上面转换成jsonarray? Python中是否有内置方法,库或函数可将数组“转储”到json数组中? 另请注意,我不希望在文件中序列化“ L”。 问题答案: 使用该模块生成JSON输出: 这会将JSON结果直接写入文件(如果文件已经存在,则替换任何先前的内容)。 如果您需要Python本身中的JSON结果字符串,请使用(

  • 本文向大家介绍如何使用Python将HTML转换为PDF,包括了如何使用Python将HTML转换为PDF的使用技巧和注意事项,需要的朋友参考一下 Python提供了Pdfcrowd API v2,可将HTML文档转换为PDF。该API非常易于使用,集成仅需要几行代码。 安装 从网页/ HTML到PDF的以下3个步骤将完成转换 步骤1-下载库pdfkit 步骤2-现在下载wkhtmltopdf 对

  • 我有一些带有小端编码字节的文件,我想取字节,指定endianess并使用python(任何版本)将它们转换为十进制数。如何正确执行?

  • 问题内容: 是否有任何jQuery或javascript库根据给定的json数据生成动态表?我不想定义列,该库应该读取json哈希中的键并生成列。 当然,我可以自己遍历json数据并生成html表。我只想知道是否存在可以简单重用的此类库。 问题答案: 感谢大家的答复,这使用jQuery。 程式码片段: