最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)將HTML表格一鍵導(dǎo)出為Excel

 更新時(shí)間:2025年11月27日 09:04:04   作者:weixin_46244623  
在數(shù)據(jù)處理和網(wǎng)頁爬蟲項(xiàng)目中,我們經(jīng)常會(huì)遇到從 HTML 頁面中提取表格的需求,本文將使用Python,BeautifulSoup和pandas實(shí)現(xiàn)一鍵將 HTML中的多個(gè)表格導(dǎo)出為Excel文件,需要的可以了解下

在數(shù)據(jù)處理和網(wǎng)頁爬蟲項(xiàng)目中,我們經(jīng)常會(huì)遇到從 HTML 頁面中提取表格的需求。手動(dòng)復(fù)制粘貼不僅低效,還容易出錯(cuò)。本文將帶你使用 Python + BeautifulSoup + pandas,實(shí)現(xiàn) 一鍵將 HTML 中的多個(gè)表格導(dǎo)出為 Excel 文件(.xlsx),支持多 Sheet 自動(dòng)分表,代碼簡潔、實(shí)用性強(qiáng)。

一、依賴安裝

pip install beautifulsoup4 pandas openpyxl

二、實(shí)現(xiàn)代碼

from bs4 import BeautifulSoup
import pandas as pd


def html_table_to_xlsx(html_content, output_file):
    """
    將 HTML 中的表格提取并導(dǎo)出為 xlsx 文件。

    :param html_content: HTML 文本內(nèi)容
    :param output_file: 導(dǎo)出的 xlsx 文件路徑
    """
    # 使用 BeautifulSoup 解析 HTML
    soup = BeautifulSoup(html_content, 'html.parser')


    # 查找 HTML 中的所有表格
    tables = soup.find_all('table')
    if not tables:
        print("HTML 中沒有找到表格!")
        return


    # 逐個(gè)解析表格并導(dǎo)出到 Excel
    with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
        for i, table in enumerate(tables):
            # 將表格轉(zhuǎn)為 DataFrame
            df = pd.read_html(str(table))[0]
            # 寫入 Excel,不同表格寫入不同的 sheet
            sheet_name = f"Sheet{i + 1}"
            df.to_excel(writer, index=False, sheet_name=sheet_name)


    print(f"表格已成功導(dǎo)出到 {output_file}")


# 示例 HTML 內(nèi)容
html_content = """
<html>
<head><title>測(cè)試表格</title></head>
<body>
    <table border="1">
        <tr>
            <th>姓名</th>
            <th>年齡</th>
            <th>城市</th>
        </tr>
        <tr>
            <td>張三</td>
            <td>28</td>
            <td>北京</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>34</td>
            <td>上海</td>
        </tr>
    </table>
</body>
</html>
"""


# 調(diào)用函數(shù),將 HTML 中的表格導(dǎo)出為 Excel 文件
html_table_to_xlsx(html_content, "output.xlsx")

三、最終效果

四、方法補(bǔ)充

Python 解析 HTML 表格并轉(zhuǎn)換為 Excel 表格

在處理數(shù)據(jù)時(shí),我們常常會(huì)遇到需要從 HTML 表格中提取信息并將其轉(zhuǎn)換為 Excel 文件的需求。本文將介紹如何使用 Python 來解析 HTML 表格,并將其轉(zhuǎn)換為 Excel 表格。

準(zhǔn)備工作

在開始之前,請(qǐng)確保您的環(huán)境中已經(jīng)安裝了必要的庫:

  • beautifulsoup4:用于解析 HTML。
  • pandas:用于處理和轉(zhuǎn)換數(shù)據(jù)。
  • openpyxl:用于生成 Excel 文件。

可以通過以下命令安裝這些庫:

pip install beautifulsoup4 pandas openpyxl

解析 HTML 表格

首先,我們需要從一個(gè) HTML 文件中提取表格數(shù)據(jù)。假設(shè)我們有一個(gè)簡單的 HTML 文件,其中包含一個(gè)表格。

HTML 示例代碼:

<!DOCTYPE html>
<html>
<body>

<table border="1">
  <tr>
    <th>姓名</th>
    <th>年齡</th>
    <th>職業(yè)</th>
  </tr>
  <tr>
    <td>張三</td>
    <td>25</td>
    <td>工程師</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>30</td>
    <td>醫(yī)生</td>
  </tr>
</table>

</body>
</html>

接下來,我們將使用 BeautifulSoup 來解析這個(gè) HTML 文件并提取表格數(shù)據(jù)。

解析代碼示例

from bs4 import BeautifulSoup

# 讀取 HTML 文件
with open('example.html', 'r', encoding='utf-8') as f:
    html_content = f.read()

# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')

# 查找所有的表格
tables = soup.find_all('table')

# 遍歷每個(gè)表格
for table in tables:
    # 提取表頭
    headers = [header.text for header in table.find_all('th')]
    
    # 提取表格數(shù)據(jù)
    data = []
    for row in table.find_all('tr')[1:]:  # 跳過表頭行
        cells = row.find_all('td')
        row_data = [cell.text for cell in cells]
        data.append(row_data)
    
    print("表頭:", headers)
    print("數(shù)據(jù):", data)

將數(shù)據(jù)轉(zhuǎn)換為 Excel

現(xiàn)在我們已經(jīng)成功提取了表格數(shù)據(jù),接下來我們將使用 Pandas 將其轉(zhuǎn)換為 Excel 文件。

轉(zhuǎn)換代碼示例

import pandas as pd

# 創(chuàng)建 DataFrame
df = pd.DataFrame(data, columns=headers)

# 將 DataFrame 寫入 Excel 文件
df.to_excel('output.xlsx', index=False)

上述代碼將提取的表格數(shù)據(jù)保存到名為 output.xlsx 的 Excel 文件中。

完整代碼示例

以下是完整的代碼示例,結(jié)合了 HTML 解析和 Excel 轉(zhuǎn)換的功能。

from bs4 import BeautifulSoup
import pandas as pd

# 讀取 HTML 文件
with open('example.html', 'r', encoding='utf-8') as f:
    html_content = f.read()

# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')

# 查找所有的表格
tables = soup.find_all('table')

# 遍歷每個(gè)表格
for i, table in enumerate(tables):
    # 提取表頭
    headers = [header.text for header in table.find_all('th')]
    
    # 提取表格數(shù)據(jù)
    data = []
    for row in table.find_all('tr')[1:]:  # 跳過表頭行
        cells = row.find_all('td')
        row_data = [cell.text for cell in cells]
        data.append(row_data)
    
    # 創(chuàng)建 DataFrame
    df = pd.DataFrame(data, columns=headers)
    
    # 將 DataFrame 寫入 Excel 文件
    df.to_excel(f'table_{i+1}.xlsx', index=False)

到此這篇關(guān)于Python實(shí)現(xiàn)將HTML表格一鍵導(dǎo)出為Excel的文章就介紹到這了,更多相關(guān)Python HTML表格轉(zhuǎn)Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?ndarray?數(shù)組的變形詳情

    Python?ndarray?數(shù)組的變形詳情

    這篇文章主要介紹了Python?ndarray數(shù)組的變形詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python提取轉(zhuǎn)移文件夾內(nèi)所有.jpg文件并查看每一幀的方法

    Python提取轉(zhuǎn)移文件夾內(nèi)所有.jpg文件并查看每一幀的方法

    今天小編就為大家分享一篇Python提取轉(zhuǎn)移文件夾內(nèi)所有.jpg文件并查看每一幀的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python中zipfile壓縮包模塊的使用

    Python中zipfile壓縮包模塊的使用

    zipfile 模塊提供了創(chuàng)建、讀取、寫入、添加及列出 ZIP 文件的工具,本文主要介紹了Python中zipfile壓縮包模塊的使用,感興趣的可以了解一下
    2021-05-05
  • 圖文詳解感知機(jī)算法原理及Python實(shí)現(xiàn)

    圖文詳解感知機(jī)算法原理及Python實(shí)現(xiàn)

    感知機(jī)是二類分類的線性分類模型,其輸入為實(shí)例的特征向量,輸出為實(shí)例的類別(取+1和-1二值)。本文將為大家詳細(xì)講講感知機(jī)算法的原理及實(shí)現(xiàn),需要的可以參考一下
    2022-08-08
  • python的一些加密方法及python 加密模塊

    python的一些加密方法及python 加密模塊

    這篇文章主要介紹了python的一些加密方法及python加密模塊,本文通過實(shí)例文字相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)

    OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • TensorFlow中關(guān)于tf.app.flags命令行參數(shù)解析模塊

    TensorFlow中關(guān)于tf.app.flags命令行參數(shù)解析模塊

    這篇文章主要介紹了TensorFlow中關(guān)于tf.app.flags命令行參數(shù)解析模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python mysql中in參數(shù)化說明

    python mysql中in參數(shù)化說明

    這篇文章主要介紹了python mysql中in參數(shù)化說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 利用Anaconda安裝TensorFlow全過程

    利用Anaconda安裝TensorFlow全過程

    這篇文章主要介紹了利用Anaconda安裝TensorFlow全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別)

    詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別)

    這篇文章主要介紹了詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評(píng)論

额济纳旗| 洪雅县| 佛学| 常熟市| 长葛市| 苏州市| 海门市| 定西市| 宜都市| 体育| 塔河县| 宜丰县| 耒阳市| 腾冲县| 津南区| 吐鲁番市| 张掖市| 江口县| 房山区| 章丘市| 潮州市| 咸宁市| 莒南县| 镇雄县| 道孚县| 邹城市| 资中县| 湖南省| 双鸭山市| 汤原县| 丹江口市| 巴彦淖尔市| 宜兰县| 安泽县| 如皋市| 巴南区| 霍林郭勒市| 蓝田县| 六枝特区| 嘉义市| 如皋市|