Python 如何寫入Excel格式和顏色
Python寫入Excel有時(shí)需要合并單元格、或者改變文字內(nèi)容的顏色
首先導(dǎo)入xlwt模塊
import xlwt
創(chuàng)建文件名
創(chuàng)建Excel工作簿對(duì)象
創(chuàng)建工作表
創(chuàng)建樣式字體紅色
filename = (u'商品模板.xls')
wb = xlwt.Workbook()
sheet = wb.add_sheet('sheet1')
style = "font:colour_index red;"
red_style = xlwt.easyxf(style)
準(zhǔn)備要寫入的數(shù)據(jù)
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'海關(guān)編碼', u'hs編碼',
u'海關(guān)報(bào)價(jià)', u'商品狀態(tài)(0/f)', u'是否組合商品(t/f)',
u'申報(bào)中文名',u'商品名稱',u'銷售單價(jià)']
]
表頭數(shù)據(jù)的寫入
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: # 設(shè)置表頭單元格的格式
sheet.write(row, col, datas[row][col])
else: # 表頭下面的數(shù)據(jù)格式
sheet.write(row, col, datas[row][col], red_style)
合并單元格、寫入注釋
note = u'紅色字體部分為說(shuō)明部分,請(qǐng)刪除。產(chǎn)品批量更新字段必須要name(就是sku),其他需要更新的信息,自行復(fù)制下列字段添加到第一行(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個(gè)參數(shù)
start_row:合并單元格的起始行
end_row:合并單元格的終止行
start_col:合并單元格的起始列
end_col:合并單元格的終止列
data:內(nèi)容
style:樣式
補(bǔ)充:python操作Excel和Docx并控制文字的顏色及其他樣式(通俗易懂)
1、Excel
from xlsxwriter.workbook import Workbook
workbook = Workbook(r'test.xlsx') # 創(chuàng)建xlsx
worksheet = workbook.add_worksheet('A') # 添加sheet
red = workbook.add_format({'color':'red'}) # 顏色對(duì)象
worksheet.write(0, 0, 'sentences') # 0,0表示row,column,sentences表示要寫入的字符串
test_list = ["我愛(ài)", "中國(guó)", "天安門"]
test_list.insert(1, red) # 將顏色對(duì)象放入需要設(shè)置顏色的詞語(yǔ)前面
print(test_list)
worksheet.write_rich_string(1, 0, *test_list) # 寫入工作簿
workbook.close() # 記得關(guān)閉
結(jié)果如下:

2、Docx
from docx import Document # pip install python-docx
from docx.shared import RGBColor, Pt
from docx.oxml.ns import qn
content = ["我愛(ài)", "中國(guó)"," 北京"]
print(content)
# 創(chuàng)建文檔對(duì)象
document = Document()
# 創(chuàng)建段落對(duì)象,注意,里面的內(nèi)容會(huì)顯示在段落開頭
para = document.add_paragraph('段落0\n')
# 往para段落對(duì)象中添加正文內(nèi)容
para.add_run(content[0])
# 往para對(duì)象添加內(nèi)容的同時(shí)返回內(nèi)容對(duì)象run,之后可以通過(guò)這個(gè)run對(duì)象給這個(gè)部分的文字設(shè)置樣式,比如顏色,大小,字體等
run = para.add_run(content[1])
# 給run對(duì)象設(shè)置字體顏色屬性, RGBColor(250,0,0)表示紅色
run.font.color.rgb = RGBColor(250,0,0)
# 給run對(duì)象設(shè)置字體大小屬性
run.font.size = Pt(20)
# 給run對(duì)象設(shè)置字體類型屬性
run.font.name = u'宋體'
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
# para對(duì)象中添加其他內(nèi)容
para.add_run(content[2])
# 保存
document.save('test.docx')
結(jié)果如下:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python實(shí)現(xiàn)DDos攻擊實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)DDos攻擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
Python如何實(shí)現(xiàn)后端自定義認(rèn)證并實(shí)現(xiàn)多條件登陸
這篇文章主要介紹了Python如何實(shí)現(xiàn)后端自定義認(rèn)證并實(shí)現(xiàn)多條件登陸,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例
這篇文章主要介紹了Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例,幫助大家更好的理解和使用Numpy,感興趣的朋友可以了解下2020-10-10
pip search報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了pip search報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Ubuntu下創(chuàng)建虛擬獨(dú)立的Python環(huán)境全過(guò)程
virtualenv可以搭建虛擬且獨(dú)立的python環(huán)境,可以使每個(gè)項(xiàng)目環(huán)境與其他項(xiàng)目獨(dú)立開來(lái),保持環(huán)境的干凈,解決包沖突問(wèn)題。本篇文章講述如何在Linux以及Ubuntu中創(chuàng)建Python虛擬環(huán)境,以及Virtualenvwrapper的安裝使用,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-02-02
python3實(shí)現(xiàn)指定目錄下文件sha256及文件大小統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)指定目錄下文件sha256及文件大小統(tǒng)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02

