python實(shí)現(xiàn)xlwt xlrd 指定條件給excel行添加顏色
先用xlrd讀excel文件--》book對(duì)象a
拿到指定的sheet頁 xlrd對(duì)象
用xlutils copy 的copy方法復(fù)制 a得到b
通過判斷a的列值,來修改b
保存b 得到結(jié)果
之前也有試過直接用xlwt 來操作sheetwork對(duì)象,來實(shí)現(xiàn)給指定行添加顏色的操作,由于能力有限,最終沒有找到合適的方法,最終換了個(gè)方法 先讀出來,因?yàn)閣orkbook對(duì)象可以拿到行數(shù) 和對(duì)列操作,篩選關(guān)鍵字比較方便,所以上邊代碼就是一個(gè)demo,但是這個(gè)方法還是有弊端的,我把dataframe導(dǎo)出到excel,沒有合適的方法給指定列添加顏色,只能先臨時(shí)落到本地,再讀出來,很麻煩,不知道有沒有sheetwork 直接轉(zhuǎn)workbook的方法,還得再學(xué)習(xí)啊~
補(bǔ)充知識(shí):python 如何對(duì)excel中某一列某些值的單元格著色
效果:
代碼如下:
import xlwtimport xlrdfrom xlutils.copy import copy#創(chuàng)建execldef create_execl(file_name): wb = xlwt.Workbook() ws = wb.add_sheet(’Info’) ws.write(0, 0, '1') ws.write(1, 0, '2') ws.write(2, 0, '3') ws.write(3, 0, '2') wb.save(file_name)#單元格上色def color_execl(file_name): styleBlueBkg = xlwt.easyxf(’pattern: pattern solid, fore_colour red;’) # 紅色 rb = xlrd.open_workbook(file_name) #打開t.xls文件 ro = rb.sheets()[0] #讀取表單0 wb = copy(rb) #利用xlutils.copy下的copy函數(shù)復(fù)制 ws = wb.get_sheet(0) #獲取表單0 col = 0 #指定修改的列 for i in range(ro.nrows): #循環(huán)所有的行 result = int(ro.cell(i, col).value) if result == 2: #判斷是否等于2 ws.write(i,col,ro.cell(i, col).value,styleBlueBkg) wb.save(file_name) if __name__ == ’__main__’: file_name = ’t.xls’ create_execl(file_name) color_execl(file_name)
以上這篇python實(shí)現(xiàn)xlwt xlrd 指定條件給excel行添加顏色就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XHTML 1.0:標(biāo)記新的開端2. 詳解php如何合并身份證正反面圖片為一張圖片3. 詳解android是如何管理內(nèi)存的4. php設(shè)計(jì)模式之模板模式實(shí)例分析【星際爭(zhēng)霸游戲案例】5. python字典通過值反查鍵的實(shí)現(xiàn)(簡(jiǎn)潔寫法)6. Android SeekBar實(shí)現(xiàn)平滑滾動(dòng)7. java必懂的冷知識(shí)點(diǎn)之Base64加密與解密8. AJAX實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)效果9. Java基于redis和mysql實(shí)現(xiàn)簡(jiǎn)單的秒殺(附demo)10. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解
