用法:
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
。- io:str、路徑對象或 file-like 對象
字符串、路徑對象(實現
os.PathLike[str]
)或 file-like 對象實現字符串read()
函數。該字符串可以表示 URL 或 HTML 本身。請注意,lxml 隻接受 http、ftp 和文件 url 協議。如果您有一個以'https'
開頭的 URL,您可以嘗試刪除's'
。- match:str 或編譯的正則表達式,可選
將返回包含與此正則表達式或字符串匹配的文本的表集。除非 HTML 非常簡單,否則您可能需要在此處傳遞一個非空字符串。默認為“.+”(匹配任何非空字符串)。默認值將返回頁麵中包含的所有表。此值被轉換為正則表達式,以便 Beautiful Soup 和 lxml 之間的行為一致。
- flavor:str,可選
要使用的解析引擎。 ‘bs4’ 和 ‘html5lib’ 是同義詞,它們都是為了向後兼容。
None
的默認值嘗試使用lxml
進行解析,如果失敗,則返回bs4
+html5lib
。- header:int 或 list-like,可選
用於製作列標題的行(或
MultiIndex
的行列表)。- index_col:int 或 list-like,可選
用於創建索引的列(或列列表)。
- skiprows:int, 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()
。- thousands:str,可選
用於解析數千的分隔符。默認為
','
。- encoding:str,可選
用於解碼網頁的編碼。默認為
None
。``None`` 保留先前的編碼行為,這取決於底層解析器庫(例如,解析器庫將嘗試使用文檔提供的編碼)。- decimal:str,默認“。”
識別為小數點的字符(例如,對歐洲數據使用“,”)。
- 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”。該函數試圖正確處理colspan
和rowspan
屬性。如果函數有<thead>
參數,它用於構造標題,否則該函數會嘗試在正文中查找標題(通過僅放置行<th>
元素到標題中)。與
read_csv()
類似,在應用skiprows
之後應用header
參數。此函數將始終返回 DataFrame 列表,否則將失敗,例如,它不會返回空列表。
例子:
有關在 HTML 表中讀取的一些示例,請參閱文檔 IO 部分中的 read_html 文檔。
相關用法
- Python pandas.read_hdf用法及代碼示例
- Python pandas.read_pickle用法及代碼示例
- Python pandas.read_xml用法及代碼示例
- Python pandas.read_table用法及代碼示例
- Python pandas.read_sql_table用法及代碼示例
- Python pandas.read_excel用法及代碼示例
- Python pandas.read_fwf用法及代碼示例
- Python pandas.read_stata用法及代碼示例
- Python pandas.read_sql用法及代碼示例
- Python pandas.read_csv用法及代碼示例
- Python pandas.read_json用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.Index.value_counts用法及代碼示例
- Python pandas.DatetimeTZDtype用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.read_html。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。