昨天我們在《使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作》(目錄在結尾)中學習了設置單元格以及其中內容的空間間距和背景顏色。
其中添加列向單元格背景顏色只需要修改對應的<tr>標簽中的style屬性,而修改行向標簽需要修改不同<tr></tr>標簽中的<td>標簽的style屬性,這樣操作起來就非常的麻煩,那有沒有簡便的修改行向單元格背景顏色的方法呢?
當然有!
開發團隊給出了<colgroup><col></col></colgroup>這樣的組合來解決這個問題,下面讓我們詳細學習。
<colgroup></colgroup>標簽是一個給行向單元格打組的標簽,在頁面中不會顯示。
<col></col>標簽是來具體設置行向單元格數量和顏色的標簽。
示例代碼如下:
<colgroup><col span = "1" style="background-color:#ff0000;"></col></colgroup>
這段代碼添加到"第一個頁面.html"當中就可以,具體代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>第一個網頁</title>
</head>
<body>
<h1>第一個網頁</h1><hr>
<h2>表格元素</h2><hr>
<table border="1" width="100%">
<thead>
<tr>
<td colspan="2">表格的頭部信息</td>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="2">表格的腳部信息</td>
<tr>
</tfoot>
<tbody>
<caption>表格標題</caption>
<colgroup>
<col span = "1" style="background-color:#ff0000;"></col>
</colgroup>
<tr>
<th>姓名</th>
<th>年齡</th>
</tr>
<tr>
<td>一列一行</td>
<td>一列二行</td>
</tr>
<tr>
<td>二列一行</td>
<td>二列二行</td>
</tr>
</tbody>
</table>
</body>
</html>
頁面效果如圖:
因為第一列和最后一列只有一行所以,也都變紅了。
其中span的數量代表行數。
如果把span等號后面的數改成2,因為表格只有兩行,所以整個表格都紅了。
表格嵌套
我們可以通過向表格中添加表格實現表格嵌套。表格嵌套可以把一個單元格分成行向或列向分割單元格。
代碼示例如下:我們把"一列一行"分割成列向兩個單元格。
<tr><td><table border = "1" width="100%"><tr><td>1</td><td>2</td></tr></table></td>
使用
<table border = "1" width="100%">
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
這段代碼替換文字"一列一行"即可。
頁面效果如圖所示:
留個思考題,大家可以思考一下行向分割單元格怎么寫。
今天的內容結束了。
全部示例代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>第一個網頁</title>
</head>
<body>
<h1>第一個網頁</h1><hr>
<h2>表格元素</h2><hr>
<table border="1" width="100%">
<thead>
<tr>
<td colspan="2">表格的頭部信息</td>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="2">表格的腳部信息</td>
<tr>
</tfoot>
<tbody>
<caption>表格標題</caption>
<colgroup>
<col span = "1" style="background-color:#ff0000;"></col>
</colgroup>
<tr>
<th>姓名</th>
<th>年齡</th>
</tr>
<tr>
<td>
<table border = "1" width="100%">
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
</td>
<td>一列二行</td>
</tr>
<tr>
<td>二列一行</td>
<td>二列二行</td>
</tr>
</tbody>
</table>
</body>
</html>
喜歡的小伙伴請關注我,閱讀中遇到任何問題請給我留言,如有疏漏或錯誤歡迎大家斧正,不勝感激!
學到這里,相信大家已經有獨立讀懂HTML代碼說明的能力了,明天我會為大家講解16進制顏色表示方法。之后會給大家推薦html代碼參考手冊的鏈接。如果您是零基礎的話,學完16進制顏色表示方法后,基本上就可以無障礙的閱讀html代碼參考手冊了,如果閱讀起來還是有困難,請繼續看后面我為大家講解一些常用元素及屬性的文章,已及html中特殊符號的輸入方法,全部做完后再結束這套教程。
如果您有任何疑問或不解歡迎關注并私信我。
HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作
HTML是什么?——零基礎自學網頁制作
第一個HTML頁面如何寫?——零基礎自學網頁制作
HTML頁面中head標簽有啥用?——零基礎自學網頁制作
初識meta標簽與SEO——零基礎自學網頁制作
HTML中的元素使用方法1——零基礎自學網頁制作
HTML中的元素使用方法2——零基礎自學網頁制作
HTML元素中的屬性1——零基礎自學網頁制作
HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作
使用HTML添加表格1(基本元素)——零基礎自學網頁制作
使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作
使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作
使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作
16進制顏色表示與RGB色彩模型——零基礎自學網頁制作
HTML中的塊級元素與內聯元素——零基礎自學網頁制作
初識HTML中的<div>塊元素——零基礎自學網頁制作
在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作
封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作
HTML表單元素初識1——零基礎自學網頁制作
HTML表單元素初識2——零基礎自學網頁制作
HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作
HTML表單4(form的action、method屬性)——零基礎自學網頁制作
HTML列表制作講解——零基礎自學網頁制作
為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作
音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作
HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作
本Pandas教程中,我們將詳細介紹如何使用Pandas read_html方法從HTML中獲取數據。首先,在最簡單的示例中,我們將使用Pandas從一個字符串讀取HTML。其次,我們將通過幾個示例來使用Pandas read_html從Wikipedia表格中獲取數據。在之前的一篇文章(關于Python中的探索性數據分析)中,我們也使用了Pandas從HTML表格中讀取數據。
在開始學習Python和Pandas時,為了進行數據分析和可視化,我們通常從實踐導入數據開始。在之前的文章中,我們已經了解到我們可以直接在Python中輸入值(例如,從Python字典創建Pandas dataframe)。然而,通過從可用的源導入數據來獲取數據當然更為常見。這通常是通過從CSV文件或Excel文件中讀取數據來完成的。例如,要從一個.csv文件導入數據,我們可以使用Pandas read_csv方法。這里有一個如何使用該方法的快速的例子,但一定要查看有關該主題的博客文章以獲得更多信息。
現在,上面的方法只有在我們已經有了合適格式的數據(如csv或JSON)時才有用(請參閱關于如何使用Python和Pandas解析JSON文件的文章)。
我們大多數人會使用Wikipedia來了解我們感興趣的主題信息。此外,這些Wikipedia文章通常包含HTML表格。
要使用pandas在Python中獲得這些表格,我們可以將其剪切并粘貼到一個電子表單中,然后,例如使用read_excel將它們讀入Python。現在,這個任務當然可以用更少的步驟來完成:我們可以通過web抓取來對它進行自動化。一定要查看一下什么是web抓取。
當然,這個Pandas讀取HTML教程將要求我們安裝Pandas及其依賴項。例如,我們可以使用pip來安裝Python包,比如Pandas,或者安裝一個Python發行版(例如,Anaconda、ActivePython)。下面是如何使用pip安裝Pandas: pip install pandas。
注意,如果出現消息說有一個更新版本的pip可用,請查看這篇有關如何升級pip的文章。注意,我們還需要安裝lxml或BeautifulSoup4,當然,這些包也可以使用pip來安裝: pip install lxml。
下面是如何使用Pandas read_html從HTML表格中抓取數據的最簡單的語法:
現在我們已經知道了使用Pandas讀取HTML表格的簡單語法,接下來我們可以查看一些read_html示例。
第一個示例是關于如何使用Pandas read_html方法的,我們將從一個字符串讀取HTML表格。
現在,我們得到的結果不是一個Pandas DataFrame,而是一個Python列表。也就是說,如果我們使用type函數,我們可以看到:
如果我們想得到該表格,我們可以使用列表的第一個索引(0)
在第二個Pandas read_html示例中,我們將從Wikipedia抓取數據。實際上,我們將得到蟒科蛇(也稱為蟒蛇)的HTML表格。
現在,我們得到了一個包含7個表(len(df))的列表。如果我們去Wikipedia頁面,我們可以看到第一個表是右邊的那個。然而,在本例中,我們可能對第二個表更感興趣。
在第三個示例中,我們將從瑞典的covid-19病例中讀取HTML表。這里,我們將使用read_html方法的一些附加參數。具體來說,我們將使用match參數。在此之后,我們還需要清洗數據,最后,我們將進行一些簡單的數據可視化操作。
如上圖所示,該表格的標題為:“瑞典各郡新增COVID-19病例”。現在,我們可以使用match參數并將其作為一個字符串輸入:
通過這種方式,我們只得到這個表,但它仍然是一個dataframes列表。現在,如上圖所示,在底部,我們有三個需要刪除的行。因此,我們要刪除最后三行。
現在,我們將使用Pandas iloc刪除最后3行。注意,我們使用-3作為第二個參數(請確保你查看了這個Panda iloc教程,以獲得更多信息)。最后,我們還創建了這個dataframe的一個副本。
在下一節中,我們將學習如何將多索引列名更改為單個索引。
現在,我們要去掉多索引列。也就是說,我們將把2列索引(名稱)變成唯一的列名。這里,我們將使用DataFrame.columns 和 DataFrame.columns,get_level_values:
最后,正如你在“date”列中所看到的,我們使用Pandas read_html從WikiPedia表格抓取了一些注釋。接下來,我們將使用str.replace方法和一個正則表達式來刪除它們:
現在,我們繼續使用Pandas set_index將日期列變成索引。這樣一來,我們稍后就可以很容易地創建一個時間序列圖。
現在,為了能夠繪制這個時間序列圖,我們需要用0填充缺失的值,并將這些列的數據類型更改為numeric。這里我們也使用了apply方法。最后,我們使用cumsum方法來獲得列中每個新值累加后的值:
在最后一個示例中,我們使用Pandas read_html獲取我們抓取的數據,并創建了一個時間序列圖?,F在,我們還導入了matplotlib,這樣我們就可以改變Pandas圖例的標題的位置:
在這個Pandas教程中,我們學習了如何使用Pandas read_html方法從HTML中抓取數據。此外,我們使用來自一篇Wikipedia文章的數據來創建了一個時間序列圖。最后,我們也可以通過參數index_col來使用Pandas read_html將' Date '列設置為索引列。
英文原文:https://www.marsja.se/how-to-use-pandas-read_html-to-scrape-data-from-html-tables
譯者:一瞬
ava程序員學習HTML,表格和表單是用得比較多的,掌握好這2個標簽的詳細用法會對你非常有益!
一、table表格
表格由table標簽表示,里面嵌套tr,表示一行,而tr里面嵌套td和th,表示一行有多少列。它們的具體屬性和使用方法如下:
注意點:table、tr和td都有align屬性,但含義不同。其中table的align表示整個表格居中對齊,而在tr中表示整行中所有的單元格中的內容居中對齊,在td中則表示該單元格中的內容劇中對齊。此外td和th還有跨行和跨列的功能。現在利用這個知識點實現一個具有層次結構的表格:
代碼:
<html>
<head>
<TITLE>first page!!</title>
</head>
<body>
<table border="1" width="700px" align="center">
<tr>
<th>待執行項目</th>
<th> </th>
<th>正在執行項目</th>
</tr>
<tr>
<td valign="top">
<table border="1" width="100%" >
<tr>
<th>
<input type="checkbox" />
</th>
<th>項目名</th>
<th>花費</th>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
</table>
</td>
<td align="center">
<input type="button" value="移入>>" /><br/><br/>
<input type="button" value="<<移出" />
</td>
<td valign="top">
<table border="1" width="100%">
<tr>
<th>
<input type="checkbox" />
</th>
<th>項目名</th>
<th>花費</th>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
<tr align="center">
<td>
<input type="checkbox" />
</td>
<td>A</td>
<td>998.00</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
代碼運行效果:
二、form表單
對于javaEE程序員,我們日常輸入用戶名和密碼,然后提交表單,可是對表單總是懵懵懂懂,現在超詳細精煉總結如下,希望可以幫到你!
希望你照著我給出的模板,每一個都去測試一下,你便會豁然開朗,從此表單提交不再困惑!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。