Python 如何写入Excel格式和颜色
Python写入Excel有时需要合并单元格、或者改变文字内容的颜色
首先导入xlwt模块
importxlwt
创建文件名
创建Excel工作簿对象
创建工作表
创建样式字体红色
filename=(u'商品模板.xls') wb=xlwt.Workbook() sheet=wb.add_sheet('sheet1') style="font:colour_indexred;" red_style=xlwt.easyxf(style)
准备要写入的数据
datas=[ ['name','code','cost','goods_category_id', 'weight','net_weight','brand_id', 'out_id','image_url','customs_code', 'hs_code','customs_price','active', 'is_group','cn_name','goods_name','goods_price'], [u'商品名称',u'商品编码',u'成本',u'商品类别', u'重量',u'净重',u'品牌',u'外部链接', u'图片URL',u'海关编码',u'hs编码', u'海关报价',u'商品状态(0/f)',u'是否组合商品(t/f)', u'申报中文名',u'商品名称',u'销售单价'] ]
表头数据的写入
row_count=len(datas) forrowinrange(0,row_count): col_count=len(datas[row]) forcolinrange(0,col_count): ifrow==0:#设置表头单元格的格式 sheet.write(row,col,datas[row][col]) else:#表头下面的数据格式 sheet.write(row,col,datas[row][col],red_style)
合并单元格、写入注释
note=u'红色字体部分为说明部分,请删除。产品批量更新字段必须要name(就是sku),其他需要更新的信息,自行复制下列字段添加到第一行(t为是,f为否)' sheet.write_merge(2,2,0,len(datas[1]),note,red_style)
效果如下:
这里着重介绍一下write_merge(start_row,end_row,start_col,end_col,data,style)中的6个参数
start_row:合并单元格的起始行
end_row:合并单元格的终止行
start_col:合并单元格的起始列
end_col:合并单元格的终止列
data:内容
style:样式
补充: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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。