python 根据excel中颜色区分读取的操作
要求:
读取以下表格中所有字体为大红色或者单元格颜色为黄色的信息
利用到的模块是:openpyxl
importopenpyxl
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=[]
foriinrange(1,rows):
forjinrange(1,cols):
ce=worksheet.cell(row=i,column=j)
fill=ce.fill
font=ce.font
iffill.start_color.rgb=="FFFFFF00"andce.value!=None:
yellow.append(ce.value)
iffont.color.rgb=="FFFF0000":
red.append(ce.value)
print(yellow,red)
结果:
补充:python操作Excel和Docx并控制文字的颜色及其他样式(通俗易懂)
1、Excel
fromxlsxwriter.workbookimportWorkbook
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
fromdocximportDocument#pipinstallpython-docx
fromdocx.sharedimportRGBColor,Pt
fromdocx.oxml.nsimportqn
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')
结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。