當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.read_html用法及代碼示例


用法:

pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, thousands=',', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True, displayed_only=True)

將 HTML 表讀入 DataFrame 對象的 list

參數

iostr、路徑對象或 file-like 對象

字符串、路徑對象(實現 os.PathLike[str] )或 file-like 對象實現字符串 read() 函數。該字符串可以表示 URL 或 HTML 本身。請注意,lxml 隻接受 http、ftp 和文件 url 協議。如果您有一個以 'https' 開頭的 URL,您可以嘗試刪除 's'

matchstr 或編譯的正則表達式,可選

將返回包含與此正則表達式或字符串匹配的文本的表集。除非 HTML 非常簡單,否則您可能需要在此處傳遞一個非空字符串。默認為“.+”(匹配任何非空字符串)。默認值將返回頁麵中包含的所有表。此值被轉換為正則表達式,以便 Beautiful Soup 和 lxml 之間的行為一致。

flavorstr,可選

要使用的解析引擎。 ‘bs4’ 和 ‘html5lib’ 是同義詞,它們都是為了向後兼容。 None 的默認值嘗試使用 lxml 進行解析,如果失敗,則返回 bs4 + html5lib

headerint 或 list-like,可選

用於製作列標題的行(或 MultiIndex 的行列表)。

index_colint 或 list-like,可選

用於創建索引的列(或列列表)。

skiprowsint, list-like 或切片,可選

解析列整數後要跳過的行數。基於 0。如果給定整數序列或切片,將跳過由該序列索引的行。請注意,單個元素序列表示“跳過第 n 行”,而整數表示“跳過 n 行”。

attrs字典,可選

這是一個屬性字典,您可以通過它來識別 HTML 中的表格。在傳遞給 lxml 或 Beautiful Soup 之前,不會檢查它們的有效性。但是,這些屬性必須是有效的 HTML 表格屬性才能正常工作。例如,

attrs = {'id':'table'}

是一個有效的屬性字典,因為 ‘id’ HTML 標記屬性是本文檔中任何 HTML 標記的有效 HTML 屬性。

attrs = {'asdf':'table'}

不是有效的屬性字典,因為 ‘asdf’ 不是有效的 HTML 屬性,即使它是有效的 XML 屬性。可以在此處找到有效的 HTML 4.01 表格屬性。可以在此處找到 HTML 5 規範的工作草案。它包含有關現代 Web 表屬性的最新信息。

parse_dates布爾型,可選

有關詳細信息,請參閱read_csv()

thousandsstr,可選

用於解析數千的分隔符。默認為 ','

encodingstr,可選

用於解碼網頁的編碼。默認為 None 。``None`` 保留先前的編碼行為,這取決於底層解析器庫(例如,解析器庫將嘗試使用文檔提供的編碼)。

decimalstr,默認“。”

識別為小數點的字符(例如,對歐洲數據使用“,”)。

converters字典,默認無

用於轉換某些列中的值的函數的字典。鍵可以是整數或列標簽,值是接受一個輸入參數、單元格(不是列)內容並返回轉換後的內容的函數。

na_values可迭代,默認無

自定義 NA 值。

keep_default_na布爾值,默認為真

如果指定了 na_values 並且 keep_default_na 為 False,則默認 NaN 值將被覆蓋,否則將附加到它們。

displayed_only布爾值,默認為真

是否應該解析帶有“display:none” 的元素。

返回

dfs

數據幀列表。

注意

在使用此函數之前,您應該閱讀有關 HTML 解析庫的問題。

調用此函數後,期望進行一些清理。例如,如果在傳遞 header=0 參數時列名轉換為 NaN,則可能需要手動分配列名。我們嘗試盡可能少地假設表格的結構,並將表格中包含的 HTML 的特性推送給用戶。

這個函數搜索<table>元素並且僅用於<tr><th>行和<td>每個內的元素<tr>或者<th>表中的元素。<td>代表“table data”。該函數試圖正確處理colspanrowspan屬性。如果函數有<thead>參數,它用於構造標題,否則該函數會嘗試在正文中查找標題(通過僅放置行<th>元素到標題中)。

read_csv() 類似,在應用skiprows 之後應用header 參數。

此函數將始終返回 DataFrame 列表,否則將失敗,例如,它不會返回空列表。

例子

有關在 HTML 表中讀取的一些示例,請參閱文檔 IO 部分中的 read_html 文檔。

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.read_html。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。