亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HTML表到適當的Excel表Python

HTML表到適當的Excel表Python

慕容森 2022-08-02 17:36:46
我是Python的新手,并且正在努力將網絡抓取數據打印到漂亮的Excel表格中。這是我試圖在Python中抓取和復制的表格:HTML Table。以下是HTML頁面的外觀:</div>    <section id="first" style="display:none" aria-label="Power situation graph section">        <div class="gridModule-2up">            <div class="prognos_controls hidden" data-proggraph="1">                Show data for:                <button value="1" onclick="this.blur();" type="button" class="btn  btn--secondary prognosdaybutton"><span class="fa fa-clock-o" aria-hidden="true"></span> Yesterday</button>                <button value="2" onclick="this.blur();" type="button" class="btn  btn--tertiary prognosdaybutton"><span class="fa fa-clock-o" aria-hidden="true"></span> Today</button>                <button value="3" onclick="this.blur();" type="button" class="btn  btn--secondary prognosdaybutton"><span class="fa fa-clock-o" aria-hidden="true"></span> Tomorrow</button>            </div>            <table summary="Consumption" id="prognos_datatable_total" class="prognos_datatable scrollable">                <thead>                    <tr>                                <th data-sheets-numberformat="[null,1]"></th>                                <th data-sheets-value="[null,2,'17/02/2020']" data-sheets-numberformat="[null,1]" scope="col">2020-02-17</th>                                <th data-sheets-numberformat="[null,1]"></th>                                <th data-sheets-value="[null,2,'18/02/2020']" data-sheets-numberformat="[null,1]" scope="col">2020-02-18</th>                                <th data-sheets-numberformat="[null,1]"></th>                                <th data-sheets-value="[null,2,'19/02/2020']" data-sheets-numberformat="[null,1]" scope="col">2020-02-19</th>                    </tr>
查看完整描述

2 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

問題出在轉義字符上。


from bs4 import BeautifulSoup


with open("sample.html", "r") as f:


    contents = f.read()

    soup = BeautifulSoup(contents, 'lxml')

    extract = soup.find("table")


    # added strip() to remove leading and trailing characters

    table = [[item.text.strip() for item in row_data.select("th,td")]

                    for row_data in extract.select("tr")]


    for item in table:

        print(' '.join(item))


查看完整回答
反對 回復 2022-08-02
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

嘗試在這里與熊貓一起去。它在引擎蓋下使用美麗的soup。我無法在您的URL上進行測試,因為您沒有提供。


import pandas as pd


url = 'myURLlink'

df = pd.read_html(url)[1]


df.to_csv('file.csv', index=False)

print (df.to_string())


查看完整回答
反對 回復 2022-08-02
  • 2 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號