您的位置:首頁技術文章
文章詳情頁

xlwt - python如何給指定的詞語加上顏色,并寫入Excel文檔?

瀏覽:88日期:2022-07-26 15:11:47

問題描述

.......

創建文字顏色函數set_color

def set_color(color,bold=False):

style = xlwt.XFStyle() font = xlwt.Font() font.colour_index = colorstyle.font = fontreturn style找出指定詞語并添加顏色

for i in range(nrow1): #讀取行數并循環

pn=[]pl=[]a=table1.row_values(i)[0] she1.write(i,0,a) #寫入Exceldatafen= jiebtext(a) #利用jieba函數,進行分詞for nword in datafen: if nword in nwords(): #判斷已分好的分詞是否符合指定某個詞語pn.append(nword)for l in range(len(pn)): #讀取符合指定詞語的長度,并循環 c= datafen.index(pn[l]) #找出符合指定詞語的索引號 datafen[c]=pn[l],set_style(5,True) #將已經設置好顏色的詞語并重新賦值 data=a.replace(pn[l],**str(datafen[c]**)) #轉化字符串,并把無顏色的詞語替換為有顏色的詞語 print data #輸入結果

.....

she1.write(i,l+1,data)

結果:他是好人,我們大家喜歡他,另外,他很愛幫助別人,但是生活(u’u5c0fu6c14’, <xlwt.Style.XFStyle object at 0x000000000334BCF8>),天天打架。他是好人,我們大家喜歡他,另外,他很愛幫助別人,但是生活小氣,天天(u’u6253u67b6’, <xlwt.Style.XFStyle object at 0x000000000334BF60>)

我現在在代碼中已發現問題(在data=a.replace(str(pn[l]),str(datafen[c]))),若不加str類型,會提示類型錯誤。問題是寫入Excel后,表中會出現上面結果中的加粗字符,請問怎么樣才能給詞語加上顏色并寫入Excel文檔?

問題解答

回答1:

感覺為什么

a.replace(str(pn[l]),str(datafen[c]))

這里pn[l]這里要加上str呢,它自己不是str類型嗎?

回答2:

中間插個語句print一下data的type是啥,問題出在這里吧,建議使用xlsxwriter

標簽: python
国产综合久久一区二区三区