python 根據excel中顏色區分讀取的操作
要求:
讀取以下表格中所有字體為大紅色或者單元格顏色為黃色的信息
利用到的模塊是:openpyxl
import openpyxl filename="colortest.xlsx"#讀取excel workbook=openpyxl.load_workbook(filename) worksheet=workbook.get_sheet_by_name("試題2")#讀取Sheet rows,cols=worksheet.max_row,worksheet.max_column yellow=[] red=[] for i in range(1,rows): for j in range(1,cols): ce=worksheet.cell(row=i,column=j) fill = ce.fill font = ce.font if fill.start_color.rgb=="FFFFFF00" and ce.value!=None: yellow.append(ce.value) if font.color.rgb=="FFFF0000": red.append(ce.value) print(yellow,red)
結果:
補充:python操作Excel和Docx並控制文字的顏色及其他樣式(通俗易懂)
1、Excel
from xlsxwriter.workbook import Workbook workbook = Workbook(r'test.xlsx') # 創建xlsx worksheet = workbook.add_worksheet('A') # 添加sheet red = workbook.add_format({'color':'red'}) # 顏色對象 worksheet.write(0, 0, 'sentences') # 0,0表示row,column,sentences表示要寫入的字符串 test_list = ["我愛", "中國", "天安門"] test_list.insert(1, red) # 將顏色對象放入需要設置顏色的詞語前面 print(test_list) worksheet.write_rich_string(1, 0, *test_list) # 寫入工作簿 workbook.close() # 記得關閉
結果如下:
2、Docx
from docx import Document # pip install python-docx from docx.shared import RGBColor, Pt from docx.oxml.ns import qn content = ["我愛", "中國"," 北京"] print(content) # 創建文檔對象 document = Document() # 創建段落對象,註意,裡面的內容會顯示在段落開頭 para = document.add_paragraph('段落0\n') # 往para段落對象中添加正文內容 para.add_run(content[0]) # 往para對象添加內容的同時返回內容對象run,之後可以通過這個run對象給這個部分的文字設置樣式,比如顏色,大小,字體等 run = para.add_run(content[1]) # 給run對象設置字體顏色屬性, RGBColor(250,0,0)表示紅色 run.font.color.rgb = RGBColor(250,0,0) # 給run對象設置字體大小屬性 run.font.size = Pt(20) # 給run對象設置字體類型屬性 run.font.name = u'宋體' run._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體') # para對象中添加其他內容 para.add_run(content[2]) # 保存 document.save('test.docx')
結果如下:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Python 如何寫入Excel格式和顏色
- Python 操作 Excel 之 openpyxl 模塊
- python技巧分享Excel創建和修改
- 使用Python讀取和修改Excel文件(基於xlrd、xlwt和openpyxl模塊)
- 用Python實現批量生成法務函代碼