如何在Python中将HTML表格数据保存为CSV

如何在Python中将HTML表格数据保存为CSV

阅读更多:Python 教程

问题:

对于数据科学家来说,最具挑战性的任务之一是搜集数据。尽管有很多数据可用于Web,但只有通过自动化提取数据才能得到数据。

介绍:

我想从 https://www.tutorialspoint.com/python/python_basic_operators.htm 中提取嵌入在HTML表格中的基本操作数据。

这些数据分散在许多HTML表格中,如果只有一个HTML表格,我可以使用复制和粘贴来保存为.csv文件。

然而,如果单页中有超过5个表格,那就非常麻烦了,不是吗?

如何处理:

1.如果您想创建CSV文件,我将快速向您展示如何轻松创建CSV文件。

import csv
#如果未找到,则以写模式打开文件,将创建一个文件
File = open('test.csv', 'w+')
Data = csv.writer(File)

#其余部分请参见原文

输出:

当上述代码被执行时,将在此代码所在目录中产生一个test.csv文件。

如何在Python中将HTML表格数据保存为CSV

2.让我们现在从 https://www.tutorialspoint.com/python/python_dictionary.htm 中检索一个HTML表格,并将其写为CSV文件。

其余部分请参见原文。

6. 结果现在保存到了 my_html_data_to_csv.csv 文件中。

例子

我们将上面讲解的所有内容放在一起。

例子

import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup

# 设置网址
url = 'https://www.tutorialspoint.com/python/python_basic_syntax.htm'

# 打开网址并解析 HTML
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')

# 提取第一个表格
table = soup.find_all('table')[0]
rows = table.find_all('tr')

# 将内容写入文件
File = open('my_html_data_to_csv.csv', 'wt+')
Data = csv.writer(File)
try:
    for row in rows:
        FilteredRow = []
        for cell in row.find_all(['td', 'th']):
            FilteredRow.append(cell.get_text())
        Data.writerow(FilteredRow)
finally:
    File.close()

网页中的表格。

如何在Python中将HTML表格数据保存为CSV

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程