在數據分析中,將數據以表格的形式呈現出來是必不可少的環節,Pandas 是一個非常強大的數據分析庫,提供了很多方便的方法來處理和展示數據。今天,我們將學習如何使用 Pandas 自定義表格樣式並將其導出為 HTML 格式。
通過這種方式,我們可以更好地組織和展示數據,並在網頁上共享我們的分析結果,並且,掌握Pandas數據存儲和表格樣式自定義的方式,在日常工作過程中有更多應用和實踐意義,將拓展我們的數據分析思路。
導入數據
首先,導入pandas庫,並為其設置別名pd,使用pandas的read_excel函數讀取指定路徑下的Excel文件,並將其內容存儲在DataFrame對象df中。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡潤百富榜.xlsx')
#默認顯示DataFrame的前五行。
df.head()
![](https://news.xinpengboligang.com/upload/keji/5842ed498ae3302859fbaca27b85ae06.jpeg)
df.info()顯示DataFrame的簡要信息,包括索引、列名、數據類型和每列的非空值數量,這裡顯示該數據表含有1241行數據。
#數據預覽
df.info()
![](https://news.xinpengboligang.com/upload/keji/7cbff931eb3bedca6537efd98f6fe698.jpeg)
使用iloc方法篩選DataFrame的前100行數據。
df=df.iloc[:100,:]#篩選前100行數據
df
![](https://news.xinpengboligang.com/upload/keji/d0d01831bd4740942d958e4508f73a9c.jpeg)
自定義樣式
定義一個樣式對象style,該對象用於生成HTML的樣式,這裡對篩選出來的前100行的數據進行了樣式設置,它定義了一個居中的標題(h1標簽),一個表格(table標簽),以及表格中的表頭(th標簽)和單元格(td標簽)。
- h1 標簽:文本居中,字體大小為24像素,下邊距為10像素;
- table 標簽:邊框合並(border-collapse: collapse;),寬度為100%;
- th, td 標簽:邊框為1像素的實線,內邊距為8像素,文本居中;
- th 標簽:背景顏色為淺灰色(#f2f2f2)。
# 定義CSS樣式,添加標題“2023年胡潤百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡潤百富榜</title></head>
<h1>2023年胡潤百富榜</h1>
"""
將DataFrame轉換為HTML代碼,並添加樣式,index=False來去除行索引 。
# 將DataFrame轉換為HTML代碼,並添加樣式
html = style df.to_html(index=False) # 使用index=False來避免顯示行索引
將生成的HTML內容寫入到名為'2023年胡潤百富榜.html'的文件中。
# 將HTML代碼寫入文件或打印到控制臺
with open('2023年胡潤百富榜.html', 'w') as file:
file.write(html) # 將HTML代碼寫入文件output.html
完整版的代碼如下所示。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡潤百富榜.xlsx')
df=df.iloc[:100,:]#篩選前100行數據
# 定義CSS樣式,添加標題“2023年胡潤百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡潤百富榜</title></head>
<h1>2023年胡潤百富榜</h1>
"""
# 將DataFrame轉換為HTML代碼,並添加樣式
html = style df.to_html(index=False) # 使用index=False來避免顯示行索引
# 將HTML代碼寫入文件或打印到控制臺
with open('2023年胡潤百富榜.html', 'w') as file:
file.write(html) # 將HTML代碼寫入文件output.html
導出的HTML表格樣式如下所示,整體圖表風格較為簡潔。
![](https://news.xinpengboligang.com/upload/keji/52549fa09b2b68ab3984e07602e7bda5.jpeg)
導入數據
html的格式數據也是數據存儲的一種方式,使用read_html命令可以將其很便捷地導入,從而進行接下來的數據分析。
import pandas as pd
df_html=pd.read_html('2023年胡潤百富榜.html',encoding='gbk')[0]
df_html
![](https://news.xinpengboligang.com/upload/keji/b5a95563f496152477b42dbb2a4cb28d.jpeg)
通過學習如何使用 Pandas 自定義表格樣式並將其導出為 HTML 格式,我們掌握了更豐富的數據處理和展示技巧,並且,還可以根據實際業務需求來自定義表格樣式,實現與他人共享數據的目的。