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


猜你喜欢
- 一、设计理念1.先写一个登录的py文件,用python的tkinter库2.再写一个py文件用于爬取有道翻译输出栏的内容3.再利用pytho
- python之循环遍历关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历。在实践中有时会遇到删除列表中的元素
- 1.问题出现:在测试阶段,大数据并发的情况下,发现sql语句造成表的死锁,过一段时间,死锁消失。于是进行排查报错如下:对应的sql语句如下:
- JDBC连接MySQL数据库关键的四个步骤1、查找驱动程序MySQL目前提供的Java驱动程序为Connection/J,可以从MySQL官
- 测试用例我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的
- 为了从视频中提取每一帧图片,编写Python脚本实现该功能video_path为指定的视频路径interval为指定分割视频是是否跳帧,默认
- 自定义路径转换器有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器
- 在Vista IIS 7 中用 vs2005 调试 Web 项目核心是要解决以下几个问题:1、Vista 自身在安全性方面的User Acc
- 1. Callbacks您可以将回调方法定义为模型结构的指针,在创建,更新,查询,删除时将被调用,如果任何回调返回错误,gorm将停止未来操
- 题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3-
- vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐使用axios。前段时间第一次在项目里用到vue,关于登陆问题
- 本文实例讲述了Python使用matplotlib实现交换式图形显示功能。分享给大家供大家参考,具体如下:一 代码from random i
- Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542Sel
- 如何利用SSH(Shell)来备份和恢复MySQL数据库的方法 例如: 数据库参数为:: MySQL地址:mysql.dh.net MySQ
- 本文实例讲述了python实现美团订单推送到测试环境,提供便利操作。分享给大家供大家参考,具体如下:背景: 有时候需要在测试环境下一个美团的
- 本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。 1. 获取所有可用的模块 -
- 可是,其体积仍然很庞大。所以,在日常工作中,如何给SQL Server的备份文件瘦身,就是很多数据库管理员所关心的问题了。 也许微软的数据库
- PHP使用Swagger生成好看的API文档不是不可能,而是非常简单。首先本人使用Laravel框架,所以在Laravel上安装swagge
- pytorch中训练完网络后,需要对学习的结果进行测试。官网上例程用的方法统统都是正确率,使用的是torch.eq()这个函数。但是为了更精
- Vuex使用单一状态树(一个对象就包含了全部的应用层级状态),它作为唯一数据源存在,每个应用仅仅有一个store实例。单一状态树使得我们能够