xlwt - python如何給指定的詞語(yǔ)加上顏色,并寫(xiě)入Excel文檔?
問(wèn)題描述
.......
創(chuàng)建文字顏色函數(shù)set_colordef set_color(color,bold=False):
style = xlwt.XFStyle() font = xlwt.Font() font.colour_index = colorstyle.font = fontreturn style找出指定詞語(yǔ)并添加顏色
for i in range(nrow1): #讀取行數(shù)并循環(huán)
pn=[]pl=[]a=table1.row_values(i)[0] she1.write(i,0,a) #寫(xiě)入Exceldatafen= jiebtext(a) #利用jieba函數(shù),進(jìn)行分詞for nword in datafen: if nword in nwords(): #判斷已分好的分詞是否符合指定某個(gè)詞語(yǔ)pn.append(nword)for l in range(len(pn)): #讀取符合指定詞語(yǔ)的長(zhǎng)度,并循環(huán) c= datafen.index(pn[l]) #找出符合指定詞語(yǔ)的索引號(hào) datafen[c]=pn[l],set_style(5,True) #將已經(jīng)設(shè)置好顏色的詞語(yǔ)并重新賦值 data=a.replace(pn[l],**str(datafen[c]**)) #轉(zhuǎn)化字符串,并把無(wú)顏色的詞語(yǔ)替換為有顏色的詞語(yǔ) print data #輸入結(jié)果
.....
she1.write(i,l+1,data)
結(jié)果:他是好人,我們大家喜歡他,另外,他很愛(ài)幫助別人,但是生活(u’u5c0fu6c14’, <xlwt.Style.XFStyle object at 0x000000000334BCF8>),天天打架。他是好人,我們大家喜歡他,另外,他很愛(ài)幫助別人,但是生活小氣,天天(u’u6253u67b6’, <xlwt.Style.XFStyle object at 0x000000000334BF60>)。
我現(xiàn)在在代碼中已發(fā)現(xiàn)問(wèn)題(在data=a.replace(str(pn[l]),str(datafen[c]))),若不加str類型,會(huì)提示類型錯(cuò)誤。問(wèn)題是寫(xiě)入Excel后,表中會(huì)出現(xiàn)上面結(jié)果中的加粗字符,請(qǐng)問(wèn)怎么樣才能給詞語(yǔ)加上顏色并寫(xiě)入Excel文檔?
問(wèn)題解答
回答1:感覺(jué)為什么
a.replace(str(pn[l]),str(datafen[c]))
這里pn[l]這里要加上str呢,它自己不是str類型嗎?
回答2:中間插個(gè)語(yǔ)句print一下data的type是啥,問(wèn)題出在這里吧,建議使用xlsxwriter

網(wǎng)公網(wǎng)安備