pandas自定義表格樣式並導出為html格式

2024年2月6日 20点热度 0人点赞

在數據分析中,將數據以表格的形式呈現出來是必不可少的環節,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()

df.info()顯示DataFrame的簡要信息,包括索引、列名、數據類型和每列的非空值數量,這裡顯示該數據表含有1241行數據。

#數據預覽
df.info()

使用iloc方法篩選DataFrame的前100行數據。

df=df.iloc[:100,:]#篩選前100行數據
df

自定義樣式

定義一個樣式對象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表格樣式如下所示,整體圖表風格較為簡潔。

導入數據

html的格式數據也是數據存儲的一種方式,使用read_html命令可以將其很便捷地導入,從而進行接下來的數據分析。

import pandas as pd
df_html=pd.read_html('2023年胡潤百富榜.html',encoding='gbk')[0]
df_html

通過學習如何使用 Pandas 自定義表格樣式並將其導出為 HTML 格式,我們掌握了更豐富的數據處理和展示技巧,並且,還可以根據實際業務需求來自定義表格樣式,實現與他人共享數據的目的。