詳解Pandas與openpyxl庫的超強結合
用過Pandas和openpyxl庫的同學都知道,這兩個庫是相互互補的。Pandas絕對是Python中處理Excel最快、最好用的庫,但是使用 openpyxl 的一些優(yōu)勢是能夠輕松地使用樣式、條件格式等自定義電子表格。
如果你又想輕松的使用Pandas處理Excel數(shù)據,又想為Excel電子表格添加一些樣式,應該怎么辦呢?
但是您猜怎么著,您不必擔心挑選。
事實上,openpyxl 支持將數(shù)據從 Pandas DataFrame 轉換為工作簿,或者相反,將 openpyxl 工作簿轉換為 Pandas DataFrame。
DataFrame轉工作簿
我們先創(chuàng)建一個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
如果有這樣一份數(shù)據,我們想將其轉換為DataFrame,應該怎么做?
其實這個有點多此一舉,我們直接使用pandas讀取后,處理完數(shù)據,在進行樣式設計不就行了嗎?為何一開始非要使用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庫結合內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。