2018-11-29 關(guān)于python對docx文件的操作

先上一段代碼

import docx
from docx import Document
from docx.shared import RGBColor
from docx.shared import Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH
import re

all_data = open('F:\\vscode\\.vscode\\python\\python課\\文件操作\\結(jié)果匯總\\newans.txt',encoding='utf-8')
document = Document()
# add the title
document.add_heading('四六級單詞', 0)
# add a paragraph
document.add_paragraph('test paragraphs')
'''
    from the net
'''
# set the font
document.styles['Normal'].font.name = u'黑體'      
p = document.add_paragraph()
#set the align , this is left
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.LEFT  
# add the text , into the paragraphs  
run = p.add_run(u'START')
#set color
run.font.color.rgb = RGBColor(54,95,145)     
#set font size
run.font.size = Pt(26)
# add a page break
document.add_page_break()  

all_data = all_data.readlines()
for i in all_data:
    data = i.replace('>>','')
    data = data.split('|')
    # print('單詞'+data[0])
    # print('詞頻'+data[1])
    # print('詞義'+data[2])
    # print('例句'+data[3])
    skip = re.findall('"(.*?)"',data[2])
    if len(skip) < 1:
        print("skip")
        continue
    word = data[0]
    # new a paragraph , set the align is LEFT
    p = document.add_paragraph()
    p.paragraph_format.alignment =  WD_ALIGN_PARAGRAPH.LEFT  
    '''
        write in words
    '''
    words = p.add_run('單詞:')
    words.bold = True
    words.font.size = Pt(17)
    words.font.color.rgb = RGBColor(54,95,145)
    word_content = p.add_run(word+'\n')
    # ans.writelines('單詞:')
    # ans.writelines(word+"\n")
    '''
        write the frequency
    '''
    frequency = data[1]
    p_frequency = p.add_run('詞頻:')
    p_frequency.font.size = Pt(17)
    p_frequency.font.color.rgb = RGBColor(54,100,100)
    p.add_run(frequency+'\n').bold

    p_frequency.bold = True
    # ans.writelines('詞頻:')
    # ans.writelines(frequency+"\n")
    '''
        write the means
    '''
    mean = re.findall('"(.*?)"',data[2])
    p_all_mean = p.add_run('詞義:\n')
    p_all_mean.bold = True
    p_all_mean.font.size = Pt(17)
    p_all_mean.font.color.rgb = RGBColor(15,15,145)
    # ans.writelines('詞義:\n')
    mean_count = 0
    sentence_count = 0
    if len(mean) >0:
        for i in mean:
            if len(i) > 20:
                mean_count+=1
                strr = str(mean_count)+'. '
                p.add_run(strr+i+'\n')
            print(i)
    else:
        print(word+" has no mean")
    sentence = re.findall("'(.*?)'",data[3])
    p_sentence = p.add_run('例句:\n')
    p_sentence.bold = True
    p_sentence.font.color.rgb = RGBColor(54,95,45)
    p_sentence.font.size = Pt(17)
    if len(sentence) > 0:
        for i in sentence:
            if len(i)>20:
                sentence_count+=1
                strr = str(sentence_count)+'. '
                p.add_run(strr+i+'\n')
            print(i)
    else:
        print(word+' has no sentence')
    document.add_page_break()




# save as              
document.save('result.docx')

這段代碼是我把一個分詞結(jié)果寫入docx文件所使用的蚣常,總結(jié)一下docx怎么用

概述

個人理解撞鹉,為自己而作

docx這個模塊還是很隨主流操作方式的,我認(rèn)為在此模塊中以段和字為單位嵌巷,當(dāng)然了不包括圖片和表格,僅僅說文字屏富。圖片和表格操作大同小異晴竞。
除了title和head,其他的文字一般都是寫入一個paragraph中狠半,然后再在這個段落中插入文字噩死,add_run(‘text’) , 如果我們給這次插入存入一個變量,如

p = Document.add_paragraph()
content = p.add_run("words")

我們就可以對content操作神年,然后改變'words'的顯示形式
如果我們只需要設(shè)置一個屬性已维,比如粗體顯示

content.bold = True

這樣就會粗體顯示了
其他操作也是大同小異,當(dāng)然了已日,基本操作垛耳,具體可以看文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市飘千,隨后出現(xiàn)的幾起案子堂鲜,更是在濱河造成了極大的恐慌,老刑警劉巖护奈,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缔莲,死亡現(xiàn)場離奇詭異,居然都是意外死亡霉旗,警方通過查閱死者的電腦和手機(jī)痴奏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厌秒,“玉大人读拆,你說我怎么就攤上這事⊥疑粒” “怎么了檐晕?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長岛马。 經(jīng)常有香客問我棉姐,道長,這世上最難降的妖魔是什么啦逆? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任伞矩,我火速辦了婚禮,結(jié)果婚禮上夏志,老公的妹妹穿的比我還像新娘乃坤。我一直安慰自己苛让,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布湿诊。 她就那樣靜靜地躺著狱杰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厅须。 梳的紋絲不亂的頭發(fā)上仿畸,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機(jī)與錄音朗和,去河邊找鬼错沽。 笑死,一個胖子當(dāng)著我的面吹牛眶拉,可吹牛的內(nèi)容都是我干的千埃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忆植,長吁一口氣:“原來是場噩夢啊……” “哼放可!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起朝刊,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤耀里,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拾氓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體备韧,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年痪枫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叠艳。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡奶陈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出附较,到底是詐尸還是另有隱情吃粒,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布拒课,位于F島的核電站徐勃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏早像。R本人自食惡果不足惜僻肖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卢鹦。 院中可真熱鬧臀脏,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搀玖,卻和暖如春余境,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灌诅。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工芳来, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人延塑。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓绣张,卻偏偏與公主長得像,于是被迫代替她去往敵國和親关带。 傳聞我的和親對象是個殘疾皇子侥涵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容