詳解Pandas與openpyxl庫的超強結合
前言
用過Pandas和openpyxl庫的同學都知道,這兩個庫是相互互補的。Pandas絕對是Python中處理Excel最快、最好用的庫,但是使用 openpyxl 的一些優勢是能夠輕松地使用樣式、條件格式等自定義電子表格。
如果你又想輕松的使用Pandas處理Excel數據,又想為Excel電子表格添加一些樣式,應該怎麼辦呢?
但是您猜怎麼著,您不必擔心挑選。
事實上,openpyxl 支持將數據從 Pandas DataFrame 轉換為工作簿,或者相反,將 openpyxl 工作簿轉換為 Pandas DataFrame。
DataFrame轉工作簿
我們先創建一個DataFrame:
import pandas as pd data = { "姓名": ["張三", "李四"], "性別": ["男", "女"], "年齡": [15, 25], } df = pd.DataFrame(data) df
結果如下:
如果想要給表頭設置為紅色字體,並居中,應該如何設置呢?
from openpyxl import Workbook from openpyxl.utils.dataframe import dataframe_to_rows from openpyxl.styles import Font from openpyxl.styles import Alignment wb = Workbook() ws = wb.active for row in dataframe_to_rows(df, index=False, header=True): ws.append(row) font = Font(name="微軟雅黑",size=10, bold=True,italic=False,color="FF0000") alignment = Alignment(horizontal="center",vertical="center") for i in range(1,df.shape[1]+1): cell = ws.cell(row=1, column=i) print(cell.value) cell.font = font cell.alignment = alignment wb.save("pandas.xlsx")
結果如下:
工作簿轉DataFrame
如果有這樣一份數據,我們想將其轉換為DataFrame,應該怎麼做?
其實這個有點多此一舉,我們直接使用pandas讀取後,處理完數據,在進行樣式設計不就行瞭嗎?為何一開始非要使用openpyxl讀取工作簿呢?
哈哈,但是既然openpyxl中提供瞭這種方法,我們就來看看。
import pandas as pd from openpyxl import load_workbook workbook = load_workbook(filename="df_to_openpyxl.xlsx") sheet = workbook.active values = sheet.values df = pd.DataFrame(values) df
結果如下:
到此這篇關於詳解Pandas與openpyxl庫的超強結合的文章就介紹到這瞭,更多相關Pandas openpyxl庫結合內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Pandas與openpyxl庫結合處理Excel表格實現代碼
- Python 操作 Excel 之 openpyxl 模塊
- Python openpyxl模塊學習之輕松玩轉Excel
- Python Excel處理庫openpyxl詳解
- 詳解Python操作Excel之openpyxl