《7.自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)》_第1頁
《7.自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)》_第2頁
《7.自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)》_第3頁
《7.自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)》_第4頁
《7.自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)》_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python金融大數(shù)據(jù)挖掘與分析常凱第七講自動(dòng)生成數(shù)據(jù)分析Word報(bào)告實(shí)戰(zhàn)7.1Python創(chuàng)建Word基礎(chǔ)7.2Python創(chuàng)建Word進(jìn)階7.3案例實(shí)戰(zhàn)-自動(dòng)生成數(shù)據(jù)分析Word報(bào)告7.1Python創(chuàng)建Word基礎(chǔ)7.1.1python-docx庫的安裝使用pip安裝法:通過Win+R組合鍵調(diào)出運(yùn)行框輸入cmd后回車,在彈出框中輸入pipinstallpython-docx,然后回車即可安裝,如圖下:其實(shí)python-docx有一個(gè)官方英文說明文檔:https://python-docx.readthedocs.io/en/latest/index.html

,目前沒有中文官方文檔。7.1Python創(chuàng)建Word基礎(chǔ)7.1.2python-docx庫的初步介紹通過"importdocx"引入python-docx庫利用“file=docx.Document()”在后臺(tái)創(chuàng)建一個(gè)word文檔,并賦值為file下面一部分內(nèi)容通過file.add_paragraph的方法來添加段落,其中paragraph的中文意思就是段落的意思最后通過file.save的方法進(jìn)行文件命名及保存注意點(diǎn):最后的保存文件夾要提前創(chuàng)建7.1Python創(chuàng)建Word基礎(chǔ)7.1.2python-docx庫的初步介紹7.1Python創(chuàng)建Word基礎(chǔ)7.1.2python-docx庫的初步介紹如下圖所示,此時(shí)設(shè)置的文件夾里已經(jīng)自動(dòng)生成了一個(gè)Word文檔:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(1)創(chuàng)建及保存Word文檔通過上面兩行代碼就是創(chuàng)建一個(gè)新的Word文檔,如果想打開已經(jīng)存在的Word文檔,只要在上面的括號(hào)里寫入Word文件路徑即可,代碼如下:創(chuàng)建一個(gè)新的Word文檔:打開已經(jīng)存在的Word文檔:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(1)創(chuàng)建及保存Word文檔通過.save()的方法可以進(jìn)行文檔保存及命名:注意點(diǎn):保存文件夾一定要提前存在,否則會(huì)報(bào)錯(cuò)如果該Word文檔已經(jīng)存在,則會(huì)用新的Word文檔把舊的Word文檔替代如果舊的Word文件已經(jīng)存在,那么在執(zhí)行程序的時(shí)候不要打開它,不然程序沒法用新的Word文檔去替代舊的Word文檔。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(2)添加標(biāo)題通過.add_heading的方法我們能添加標(biāo)題:其中l(wèi)evel=0,表示標(biāo)題級(jí)別為0,字體較大。不過不推薦采用該方式設(shè)置標(biāo)題,因?yàn)樗鼤?huì)默認(rèn)加一個(gè)下劃線,我們可以用(3)講的添加段落的方式來創(chuàng)建標(biāo)題。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(3)添加段落文字通過.add_paragraph的方法可以添加段落:這個(gè)段落就和在Word中所講的段落是一樣的,在下一小節(jié),我們將講解如何設(shè)置段間距,行間距及首行縮進(jìn)等內(nèi)容。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(4)添加圖片通過.add_picture的方法我們能添加圖片:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(4)添加圖片圖片樣式的設(shè)置則相對(duì)比較容易了,它主要就是設(shè)置一下圖片的寬和高,分別使用width(寬)和height(高)來進(jìn)行設(shè)置,代碼如下:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(4)添加圖片這個(gè)時(shí)候圖片是默認(rèn)放在最左邊,如果想讓它居中的話,可以按如下代碼設(shè)置:完整代碼如下:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(5)添加分頁符通過.add_page_break()的方法可以添加分頁符:通過這個(gè)辦法能實(shí)現(xiàn)自動(dòng)分頁,之后的內(nèi)容將從新的一頁開始。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(6)添加表格通過.add_table的方法可以添加表格:其中cell(a,b)表示表格的單元格,a表示第幾行,b表示第幾列,注意點(diǎn):在編程中,序號(hào)都是從0開始的,所以cell(0,0)其實(shí)表示的是第一行第一列。默認(rèn)的表格樣式?jīng)]有邊框,下一小節(jié)將講解如何設(shè)置表格樣式。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(6)添加表格通過表格樣式可以使設(shè)置表格邊框,其代碼相對(duì)而言容易一些,只需要在創(chuàng)建表格的時(shí)候加上style="表格樣式"即可,代碼如下:這邊創(chuàng)建了一個(gè)兩行三列的表格,其中表格樣式選擇的是“LightShadingAccent1”,效果如下圖所示:7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(6)添加表格除了“LightShadingAccent1”這一表格樣式外,還有許多別的表格樣式可供選擇,在python-docx的官網(wǎng):https://python-docx.readthedocs.io/en/latest/user/styles-understanding.html

可以查看其他表格樣式,這邊給大家介紹一些常用的表格樣式。表格樣式1:

TableGrid,這個(gè)是很常見的黑白邊框7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(6)添加表格表格樣式2:LightShading,它會(huì)每隔一行多一個(gè)陰影行表格樣式3:

LightShadingAccent1,這個(gè)就是我們案例使用的藍(lán)色表格,這邊你可以把這個(gè)數(shù)字1換成2、3、4、5、6,可以把顏色變成:紅、綠、紫、青、橙7.1Python創(chuàng)建Word基礎(chǔ)表格樣式4:

LightList,這個(gè)黑色標(biāo)題框也比較簡(jiǎn)潔。若寫成LightListAccent1,則黑色標(biāo)題框變?yōu)樗{(lán)色,同樣你可以把這個(gè)數(shù)字1換成2、3、4、5、6,這樣可以把顏色變成:紅、綠、紫、青、橙表格樣式5:

MediumShadingAccent1,如下表所示,它的標(biāo)題框是深藍(lán)色,下面的框?yàn)榈{(lán)色。同樣可以把第二個(gè)數(shù)字1換成2、3、4、5、6,這樣可以把顏色變成:紅、綠、紫、青、橙。如果把第一個(gè)數(shù)字1換成2的話,那么第一列都是深色背景了7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(7)讀取Word文檔我們可以利用Python來讀取Word文檔,代碼如下:其中file.paragraphs的意思就是該Word文檔里的所有段落,通過for循環(huán)就可以把每個(gè)段落給打印輸出出來。注意點(diǎn):print的時(shí)候paragraph.text才是它的文本內(nèi)容,不要簡(jiǎn)單的寫paragraph。7.1Python創(chuàng)建Word基礎(chǔ)7.1.3python-docx庫的基礎(chǔ)知識(shí)(7)讀取Word文檔這里還可以通過創(chuàng)建一個(gè)空列表并利用列表名.append(新元素)的方法把它們放置到一個(gè)列表里,然后通過'連接符'.join(列表名)的方法就可以把列表轉(zhuǎn)換成字符串,代碼如下:7.2Python創(chuàng)建Word進(jìn)階7.2.1設(shè)置中文字體設(shè)置中文字體是Python操控Word文檔的一個(gè)重點(diǎn)也是一個(gè)難點(diǎn),具體使用方法是把這幾行代碼直接寫的程序的最上面,代碼如下:7.2Python創(chuàng)建Word進(jìn)階7.2.2

設(shè)置字體大小及顏色通過add_paragraph的方法只能新建一個(gè)段落,就沒有辦法在“你”字后面增加內(nèi)容了。比如通過如下代碼:我們必須創(chuàng)建一個(gè)新段落來添加眼睛在這種情況下,打印結(jié)果:7.2Python創(chuàng)建Word進(jìn)階7.2.2

設(shè)置字體大小及顏色這里把p.add_run('我喜歡你')賦值給一個(gè)叫作run的變量,然后利用run.font便可調(diào)用它的字體屬性,其中font的中文翻譯就是字體的意思,代碼如下:7.2Python創(chuàng)建Word進(jìn)階7.2.2

設(shè)置字體大小及顏色首先得從python-docx里引入Pt功能,然后利用font.size進(jìn)行字體大小設(shè)置。這個(gè)run大家可以理解為段落里的文字,只有段落里的文字可以設(shè)置字體屬性,單純的段落是沒有辦法設(shè)置字體的,所以不能直接寫font=p.font。之后我們就可以修改字體font屬性了,比如我們修改它的大小,代碼如下:其中這個(gè)Pt里的數(shù)字就表示字體的大小,單位為“磅”,美國人習(xí)慣于用“磅”作為文字的計(jì)量單位,在下一頁,我們有一個(gè)中文字體大小、磅和英寸的轉(zhuǎn)換表。字號(hào)英文字號(hào)(磅)英寸初號(hào)42pt0.58小初36pt0.5一號(hào)26pt0.36小一24pt0.33二號(hào)22pt0.31小二18pt0.25三號(hào)16pt0.22小三15pt0.21四號(hào)14pt0.19小四

12pt0.16五號(hào)10.5pt0.157.2Python創(chuàng)建Word進(jìn)階7.2.2

設(shè)置字體大小及顏色我們也可以設(shè)置字體顏色,不過設(shè)置字體顏色需要先從python-docx中引入字體顏色的功能,其代碼如下:其中這個(gè)RGB是顏色的一種表現(xiàn)形式,這邊的(59,95,145)表示的就是藍(lán)色,如果想查看更多顏色的RGB表現(xiàn)形式,可以去網(wǎng)上搜索“顏色RGB對(duì)照表”,便可找到很多的RGB顏色對(duì)照的網(wǎng)址,比如:/commons?type=37.2Python創(chuàng)建Word進(jìn)階7.2.2

設(shè)置字體大小及顏色除了字體大小和顏色之外,我們還可以設(shè)置字體粗體、斜體與下劃線,代碼如下:7.2Python創(chuàng)建Word進(jìn)階7.2.3設(shè)置段落樣式:對(duì)齊方式、文本縮進(jìn)、行間距、段間距、段落序號(hào)首先來看對(duì)齊方式,我們先來設(shè)置為居中對(duì)齊:齊方式對(duì)應(yīng)代碼居中對(duì)齊WD_ALIGN_PARAGRAPH.CENTER左對(duì)齊WD_ALIGN_PARAGRAPH.LEFT右對(duì)齊WD_ALIGN_PARAGRAPH.RIGHT兩端對(duì)齊WD_ALIGN_PARAGRAPH.JUSTIFY7.2Python創(chuàng)建Word進(jìn)階7.2.3設(shè)置段落樣式:對(duì)齊方式、文本縮進(jìn)、行間距、段間距、段落序號(hào)我們還可以設(shè)置首行縮進(jìn),代碼如下:注意點(diǎn):設(shè)置首行縮進(jìn)需要先從python-docx中引入英寸對(duì)于小四號(hào)字體,上一小節(jié)提供過一個(gè)字號(hào)與磅和英寸的對(duì)應(yīng)表格,其中小四號(hào)字體對(duì)應(yīng)0.16英寸,而縮進(jìn)一般是2個(gè)字符長度,所以選擇0.32英寸的首行縮進(jìn)比較合適,你也可以對(duì)其進(jìn)行適當(dāng)?shù)奈⒄{(diào)。7.2Python創(chuàng)建Word進(jìn)階7.2.3設(shè)置段落樣式:對(duì)齊方式、文本縮進(jìn)、行間距、段間距、段落序號(hào)如果需要設(shè)置行間距與段間距的話,可以按照如下手段進(jìn)行設(shè)置行間距:7.2Python創(chuàng)建Word進(jìn)階7.2.3設(shè)置段落樣式:對(duì)齊方式、文本縮進(jìn)、行間距、段間距、段落序號(hào)對(duì)于段間距,其設(shè)置手段與行間距類似,代碼如下:7.2Python創(chuàng)建Word進(jìn)階7.2.3設(shè)置段落樣式:對(duì)齊方式、文本縮進(jìn)、行間距、段間距、段落序號(hào)我們還可以利用Python來設(shè)置段落序號(hào),這個(gè)用的相對(duì)較少,我們只需要在添加一個(gè)style='序號(hào)格式',其中ListBullet為點(diǎn)序號(hào),ListNumber為數(shù)字序號(hào),代碼如下:注意點(diǎn):讀者可以把上述代碼依次放到Python中看看效果,然后打開生成的Word文件,在Word中右擊鼠標(biāo)選擇“段落”進(jìn)行段落設(shè)置查看。7.3案例實(shí)戰(zhàn)-自動(dòng)生成數(shù)據(jù)分析Word報(bào)告這里以上市公司相關(guān)輿情數(shù)據(jù)為例來演示下如何在實(shí)戰(zhàn)中生成一份Word版的數(shù)據(jù)分析報(bào)告。首先我們引入之后會(huì)用到的庫:7.3案例實(shí)戰(zhàn)-自動(dòng)生成數(shù)據(jù)分析Word報(bào)告然后我們首先創(chuàng)建一個(gè)空白Word對(duì)象,并設(shè)置好字體

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論