python-docx設置表格對齊方式

2021-01-07 小梁學編程

在Word文檔中表格中對齊方式的設置可以分為表格的對齊方式和單元格的對齊方式,可以通過「開始」菜單欄中的「段落」中設置表格的對齊方式,可以通過「布局」菜單欄中的「對齊方式」中設置單元格的對齊方式。

表格對齊方式設置
單元格對齊方式設置

而在python-docx包中要使用table.alignment、cell.vertical_alignment和paragraph.alignment進行設置,筆者總結了python-docx包中表格和單元格等2種設置對齊方式,並在文章最後將文章主要內容製作了思維導圖。

01表格的對齊方式

在設置表格的對齊中,將表格作為一個整體,要用到table的alignment屬性。python-docx包定義了表格對齊的枚舉類型,存儲在docx.enum.table import WD_TABLE_ALIGNMENT中,共定義了LEFT、CENTER和RIGHT三個常量。含義如下

WD_TABLE_ALIGNMENT.LEFT :表格為左對齊WD_TABLE_ALIGNMENT.CENTER:表格為居中對齊WD_TABLE_ALIGNMENT.RIGHT:表格為右對齊本文以LFET為例說明表格對齊方式的設置過程,見代碼:

from docx import Document # 導入docxfrom docx.enum.table import WD_TABLE_ALIGNMENT # 導入表格對齊方式from docx.shared import Cm # 導入單位轉換函數document = Document() # 新建docx文檔table = document.add_table(3, 3) # 添加表格1table.alignment = WD_TABLE_ALIGNMENT.LEFT # 設置表格為右對齊for col in table.columns: # 表格1設置列寬為2cm,便於演示,與設置無關for cell in col.cells:cell.width = Cm(2)document.save('test.docx')表格的左對齊效果見下圖

表格左對齊效果圖

同理,將第6行代碼分別設置為居中和右對齊,見如下代碼,運行後表格的效果見下圖。

table.alignment = WD_TABLE_ALIGNMENT.CENTER # 設置表格為居中對齊table.alignment = WD_TABLE_ALIGNMENT.RIGHT # 設置表格為右對齊

表格居中對齊效果圖
表格右對齊效果圖

02單元格的對齊方式

在對單元格對齊方式設置的時候,將單元格視為一個整體,要使用單元格中的垂直對齊(cell.vertical_alignment)和單元格中的段落的對齊(paragraph.alignment)等2種對齊方式配合使用。在docx.enum.table .WD_ALIGN_VERTICAL定義了TOP、CENTER和BOTTOM等3種類型,含義如下:

WD_CELL_VERTICAL_ALIGNMENT.TOP:單元格內容靠上對齊WD_CELL_VERTICAL_ALIGNMENT.CENTER:單元格內容居中對齊WD_CELL_VERTICAL_ALIGNMENT.BOTTOM:單元格內容靠下對齊在WD_PARAGRAPH_ALIGNMENT中定義了4中類型,分別是LEFT、CENTER、RIGHT和JUSTIFY等4中類型,含義如下:

WD_PARAGRAPH_ALIGNMENT.LEFT:段落左對齊WD_PARAGRAPH_ALIGNMENT.CENTER:段落居中對齊WD_PARAGRAPH_ALIGNMENT.RIGHT:段落右對齊WD_PARAGRAPH_ALIGNMENT.JUSTIFY:段落兩端對齊關於段落的設置可以參考文章python-docx段落設置。在單元格垂直對齊和段落對齊的配合過程中可以組合成12種方式,分別是:靠上兩端對齊、靠上居中對齊、靠上右對齊、中部兩端對齊、中部居中對齊、中部右對齊、靠下兩端對齊、靠下居中對齊、靠下右對齊、靠上左對齊、中部左對齊、靠下左對齊。其中,在WORD軟體中內置了前9種對齊方式。這9種對齊方式的設置代碼如下:

from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT # 導入單元格垂直對齊from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 導入段落對齊document = Document()table = document.add_table(3, 3) # 添加表格1for row in table.rows: row.height = Cm(3) # 設置表格行高為3cm,便於演示,與設置對齊無關cell = table.cell(0,0)cell.text = "靠上兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(0,1)cell.text = "靠上居中對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(0,2)cell.text = "靠上右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHTcell = table.cell(1,0)cell.text = "中部兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(1,1)cell.text = "中部居中對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(1,2)cell.text = "中部右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHTcell = table.cell(2,0)cell.text = "靠下兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(2,1)cell.text = "考下中部對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(2,2)cell.text = "靠下右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT運行效果見下圖:

9種對齊方式與WORD軟體中對應圖

另外三種的設置可以參考上述代碼。

筆者總結了python-docx包中對表格和單元格的對齊方式,製作了思維導圖見下圖。希望對使用python-docx包設置docx表格對齊時提供參考。

相關焦點

  • Python自動化辦公之Word,全網最全看這一篇就夠了
    很多人學習python,不知道從何學起。 很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。 很多已經做案例的人,卻不知道如何去學習更加高深的知識。
  • Excel教師辦公小技巧:表格格式設置大全,你要找的全部在這裡
    經常使用Excel辦公的老師們都應該知道,它最基本的組成部分是單元格,然而這個基本部分的格式設置可不簡單。單元格格式在整理數據中佔用很重要位置,主要包括數字、對齊、字體、邊框、圖案、保護六種設置。每一種格式都有他獨特的效果,今天我們就來看一下如何設置這些格式以及這些格式都有什麼作用吧!首先我們先來看一下單元格格式設置對話框在表格的那個位置?一共有三種方法。其一,打開一個Excel表格,在【開始】菜單欄找到「單元格格式」功能區,點擊如圖所示紅色區域內的符號。
  • Word已製作好的文檔,章節、圖片與表格自動編號如何設置
    用 Word 排版書籍時,可事先不用輸入編號,只需要設置好標題樣式,例如「章」用「標題」,「節」用「標題1」,以此類推;書籍排版好之後,用多級列表可實現對所有標題自動編號。插入的圖片和製作的表格也不用編號,可「題注」實現自動編號。
  • 如何用Python快速優雅的批量修改Word文檔樣式?
    模塊對每個Word文檔遍歷,並獲取包含特定詞的文字塊4.對文字塊進行樣式修改代碼實現首先導入需要的庫並設置目標文件夾路徑from docx import Documentfrom docx.shared import
  • 編程界新晉「網紅」Python到底是什麼?學Python真的有用嗎?
    因此我們可以把一切通過數位化方式完成的辦公室任務,並帶來效率提升的應用叫做自動化辦公。那麼,什麼叫通過「數位化方式」完成辦公室任務呢?舉例:「文件批量重命名」,我們來拆解一下手動完成這個任務需要的步驟。
  • 慢步學習,python語言編程,來扯扯語言的學習理解
    語言的基本組成——詞彙python語言和咱剛開始學習英語一樣,需要學習詞彙,上述例子中就有「詞彙」。from docx import Document。黃色字體為python的關鍵字(又稱保留字),from 與import連用,指從……引入……,這是引用的一個方式。對於引用筆者也有文章寫過相關內容。藍色字體print也是關鍵字,作用是輸出文本內容。= 也算是編程的一個詞彙,賦值號,把右側內容賦值給左側。
  • 如何用python在工作中「偷懶」?
    思路:利用python xlrd包讀取excle文件,然後將文件內容存入一個列表中,再利用xlsxwriter將內容寫入到一個新的excel文件中。data = [20, 45, 26, 18, 45]#創建表格workbook = xlsxwriter.Workbook("temp.xlsx")worksheet = workbook.add_worksheet("data")#添加數據worksheet.write_column('A1', data)#創建圖表chart = workbook.add_chart({'type': 'line
  • Word直接在頁面排版圖文和用表格排版圖文
    「嵌入型」因此,文字並未全部排到圖片的右邊,而是大部分排到圖片的下面,把圖片文字環繞方式改為「穿越型環繞」,則所有文字排到圖片的右邊,再把圖片調到其底邊與文字下面在同一水平線上,操作過程步驟,如圖1所示:2、圖片與文字水平對齊的方式有兩種,一種是上面的調整圖片,另一種是調整段落行間距。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • 小叮噹python人工智慧篇:讓Google為我們自動翻譯英語課文!
    在「小叮噹python人工智慧篇:英文課文寫入word中」,已為大家分享拿到word版的英文課文的方法。今天,小叮噹就為大家分享如何通過人工智慧使用python讓谷歌為我們自動翻譯出英文課文!在人工智慧「AI+」的新時代,機器翻譯的水平越來越高,雖然有些翻譯結果不盡人意,Google翻譯總體來說還是可以令人接受的。
  • 解讀html的表格元素-60天挑戰計劃(第四天)
    align指定表格相對於父元素的水平對齊方式,可用css中的margin樣式替代。bgcolor指定表格的背景色,可用css中的"background-color"替代。但對於剛學習的人來說,還是需要了解一下基本的純html使用方式。caption元素html的caption元素展示了表格的標題,常放在首位(根據語義)。但它也可以被css樣式化,所以也可放在其他相對於html表格的任意位置。
  • 用Python將微信熱文轉換成Word文檔 | 神級操作
    2、設計代碼,步步分析這一步我們需要開始編寫代碼了,python-docx是一個生成和處理docx的第三方庫,使用pip install python-docx 一鍵下載需要用到的第三方庫有,python-docx,bs4(用於html解析處理)from docx import
  • Python利用openpyxl處理Excel文件(單元格及行列具體操作)
    刪除行(列)後,下(後)面的表格將自動上(前)移。(六)行列遍歷處理Excel表格有時(大多數)需要對表格進行遍歷查找,行列遍歷兩種方式:1.ws.max_row獲得表格的最大行數,取得遍歷次數,使用for循環遍歷for row in range(2, ws.max_row
  • Word表格文字靠上不居中、重疊、隱藏、顯示不全原因及解決辦法
    一、Word表格文字靠上不居中的解決辦法(一)一般情況1、新建的表格,在單元格中輸入文字通常都靠上,既不水平居中也不垂直居中,如圖1所示:2、表格中的文字若要求居中,應該用「布局」選項卡下的「對齊方式」,如果用右鍵菜單或「開始」選項卡下的居中對齊,只能水平居中而不能垂直居中。
  • web表格設計攻略
    設置行高的原則是:A.單行顯示時,數據顯示緊湊、有序。B.多行顯示時,弱化表格形式,提供豐富的視覺展現。因此,對於單行顯示的表格,建議行高為字體高度的2.5倍到3倍;對於多行顯示的表格,建議內容區到上下邊框的距離略小於文字高度。當然,也可以提供切換按鈕讓用戶自己控制顯示密度。(2)橫向斑馬線斑馬線又稱作間行換色、隔行變色、行交替樣式。
  • wps文檔/wps表格怎麼設置自動保存
    wps文檔怎麼設置自動保存,wps表格怎麼設置自動保存。辛辛苦苦編輯的內容,一不小心把軟體關閉了還是因為電腦的原因沒有保存就丟失了,有沒有自動保存設置呢,下面我就來說下wps文檔怎麼設置自動保存,wps表格怎麼設置自動保存。以wps表格為例,首先打開軟體。
  • 伺服電機增量式編碼器的相位對齊方式
    本文引用地址:http://www.eepw.com.cn/article/201807/384257.htm增量式編碼器的相位對齊方式在此討論中,增量式編碼器的輸出信號為方波信號,又可以分為帶換相信號的增量式編碼器和普通的增量式編碼器,普通的增量式編碼器具備兩相正交方波脈衝輸出信號A和B,以及零位信號Z;帶換相信號的增量式編碼器除具備
  • 列印表格,如何通過簡單設置,將表格調整在一頁中
    那麼在列印的時候,如果表格太大,而有需要在一頁中列印出來,那麼該怎麼做到呢?今天芯青年就教大家如何在列印表格時候,把內容調整大小放在一頁中。首先,我們先在Excel中建立一個40行11列的表格,內容作為示例,我就全部填寫為33,那麼在列印的時候,可以看到,第一頁中只顯示了部分表格項目,列印完整的表格,就需要兩頁。
  • 普通人學Python有意義嗎?學Python有前途嗎?-開課吧Python
    Pythonpython憑藉著第三方庫數量的龐大,其幾乎可以說是萬能的,對於普通人來說,數據表格excel基本上都有需要製作,而有一些編程基礎的,就可以使用庫openpyxl來實現excel表格的自動處理和生成,同時除了excel之外,針對word,ppt等python都有對應的庫。
  • Python繪圖筆記:繪製四色散點圖和誤差條形圖
    ax.scatter(x, y, c=color, s=scale, label=color, alpha=0.3, edgecolors='none')#設置圖例和網格線ax.legend()ax.grid(True)plt.show()2.填充標記#python2裡面,dict.items返回的是數組,six.iteritems(dict