Python 如何写入Excel格式和颜色
程序员文章站
2022-07-09 08:29:58
python写入excel有时需要合并单元格、或者改变文字内容的颜色首先导入xlwt模块import xlwt创建文件名创建excel工作簿对象创建工作表创建样式字体红色filename = (u'商...
python写入excel有时需要合并单元格、或者改变文字内容的颜色
首先导入xlwt模块
import xlwt
创建文件名
创建excel工作簿对象
创建工作表
创建样式字体红色
filename = (u'商品模板.xls') wb = xlwt.workbook() sheet = wb.add_sheet('sheet1') style = "font:colour_index red;" 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) for row in range(0, row_count): col_count = len(datas[row]) for col in range(0, col_count): if row == 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
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')
结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读
-
Excel打印表格时如何不打印单元格的底纹和颜色
-
python操作Excel中常规格式和日期格式的转换
-
如何使用python 和excel 对100M左右的数据进行保存和简单分析
-
如何使用Python爬虫获取offcn上的公考信息及写入Excel表格并发送至指定邮箱
-
Python 如何写入Excel格式和颜色
-
Excel表格通过条件格式和函数实现自动隔行填充不同的颜色
-
用python如何绘制表格不同颜色的excel
-
如何使用Python爬虫获取offcn上的公考信息及写入Excel表格并发送至指定邮箱
-
Python3读取和写入excel表格数据的示例代码
-
python使用xlrd与xlwt对excel的读写和格式设定