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、Excelfrom xlsxwriter.workbook import Workbookworkbook = Workbook(r’test.xlsx’) # 創建xlsxworksheet = workbook.add_worksheet(’A’) # 添加sheetred = 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() # 記得關閉
結果如下:
from docx import Document # pip install python-docxfrom docx.shared import RGBColor, Ptfrom docx.oxml.ns import qncontent = ['我愛', '中國',' 北京']print(content)# 創建文檔對象document = Document()# 創建段落對象,注意,里面的內容會顯示在段落開頭para = document.add_paragraph(’段落0n’)# 往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’)
結果如下:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
