如何从HTML抓取表格并在Python中创建Excel表?

1 投票
3 回答
8909 浏览
提问于 2025-04-17 13:11

我接到一个任务,要创建一个Python文件,这个文件可以从一个HTML表格中获取数据,然后把这些数据导出到Excel表格里。

我已经创建好了Python文件,现在想测试一下。我也做了一个包含示例数据的HTML表格。

接下来,我需要写一些JavaScript代码,把表格中的数据发送到Python文件进行处理。我打算用一个按钮来触发这个操作。

JavaScript代码如下:

$("button").click(
    function(){
        //What should go here?
    }
);

你可能不需要这部分,但如果你想看HTML代码,我可以发给你,不过其实就是一个表格和一个按钮,挺简单的。Python文件的内容比较复杂,所以我不太想发出来。我只需要知道怎么把表格数据传给Python文件进行处理。

谢谢!

为了更清楚,我是在HTML中硬编码了一个表格用于测试。一个示例用户应该能够访问这个网页并查看表格。然后他们可以选择把表格导出为Excel文件,保存到他们的电脑上。所以我创建了一个“导出”按钮来开始这个过程,但我不知道怎么把硬编码的数据传给Python脚本。

3 个回答

0

我不太确定我完全同意这个方法,除非你是在从一个你无法控制的服务器上抓取数据。

如果你能控制提供数据的服务器,我建议把生成表格时用到的变量再传回Python,然后根据这个请求进行一次新的数据库查询。

这样的话,生成一个Excel文件就很简单了,可以用python-excel这个库。

我也不太明白你说的“导出”是什么意思?是让客户下载的东西,还是用户点击后通过邮件发送的,还是别的什么?

你在使用哪个网络框架(如果有的话)?

0

一般来说:

链接到一个可以发送EXCEL类型的页面。然后只需要输出一个包含表格的HTML页面。我不太确定在Python中是怎么实现的。

这可能会有帮助:

所有浏览器都支持EXCEL响应吗?

2

我觉得这个问题可以分成两个部分:

  1. 从HTML表格中提取数据。
  2. 将数据导出为Excel能理解的格式。

从HTML表格中提取数据

我之前其实没有做过这个,但在StackOverflow上已经有一些答案,讲解了用Python库,比如lxmlBeautifulSoup来实现的几种方法。

其实最简单的方法是根本不去提取数据。你是否可以直接访问用来创建HTML表格的数据?如果可以的话,直接使用那些数据会更方便。

将数据导出到电子表格

Excel文件格式(.xls.xlsx)在编程上比较难处理。不过,Excel也能读取.csv(逗号分隔值)格式的文件,这种文件只是普通文本文件,所以处理起来简单多了。

Python的csv库非常好用——可以查看这个csv模块的文档

撰写回答