Python 如何写入Excel格式和颜色
作者:威震四海 发布时间:2023-03-10 20:49:55
标签:Python,Excel,颜色
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')
结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/Beyond_F4/article/details/83411519
0
投稿
猜你喜欢
- 循环写入字典key、value、删除指定的键值对:原文本‘jp_url.txt'每行元素以逗号分隔:host_key,product
- 人在学校,身不由己。总有一些奇奇怪怪的学习任务,需要我们刷够一定的时长去完成,但这很多都是不太令人感兴趣的文字或是视频,而这些课都有共同的特
- HTML与CSS在Flash中的应用:不小心看到同事Den在弄个小东西:在Flash里使用HTML和CSS,代码是这样:var m
- 大家是否还记得1983年任天堂的著名游戏《超级玛丽》里那个留着胡子的意大利水管工人,还有日本konami公司1987年发行的射击游戏《魂斗罗
- 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:<?ph
- 1 获取jobs的当前任务状态server_1 = jenkins.Jenkins('http://%s:%s@192.168.37
- 介绍 IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio200
- 今天看了篇关于Web Form Design的成功案例,虽然讲的事情很简单,但总结了一些方法,翻译过来做个原始积累吧,以后写东西举例子时也好
- 由于众所周知的原因,ACCESS在大型站点应用中都靠不上边,主要问题就是数据量大了以后几乎无法索引。当ACCESS里数据过万后,明显可以感觉
- 本文以实例详解了python的迭代器与生成器,具体如下所示:1. 迭代器概述: 迭代器是访问集合元素的一种方式。迭代器对象从集合的
- 问题作为一个负责几个服务器的数据库管理员,我接到许多电话是关于磁盘空间的。我所做的第一件事是找到可以缩小的数据文件来释放一些磁盘上的空间。我
- 流行的 JavaScript 库有jQuery,MooTools,Prototype,Dojo和YUI等,这些 JavaScript 库功能
- 1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)
- 在我们爬虫的时候经常会遇到验证码,新浪微博的验证码是四宫格形式。可以采用模板验证码的破解方式,也就是把所有验证码的情况全部列出来,然后拿验证
- flash_url : "../swfupload/swfupload_f8.swf" upload_url: &quo
- DataFrame对象的创建,修改,合并import pandas as pdimport numpy as np创建DataFrame对象
- jquery基本入门 第一天:选择器相关 1.html()与.text() .html()取得第一个匹配元素的html内容。会带有标签,.t
- 简介Github:https://github.com/spf13/cobraStar:26.5KCobra是一个用Go语言实现的命令行工具
- 此系列意在记录于一些有趣的程序及对其的总结。问题来源:https://github.com/Yixiaohan/show-me-the-co
- asp之家注:本篇asp留言本教程可以说是我见过的最详细,写的最认真的,最适合初学者来学习asp的一篇教程。在此感谢作者hemooday。可