1. 程式人生 > >用Python讀寫word

用Python讀寫word

準備階段
本文使用的Python拓展包:python-docx
官方檔案
讀word
這裡寫圖片描述
程式碼如下

# -*- coding: cp936 -*-
import docx
document = docx.Document(檔案路徑)
docText = '\n\n'.join([
    paragraph.text.encode('utf-8') for paragraph in document.paragraphs
])
print docText
效果

這裡寫圖片描述

寫word
附上官方樣例
效果圖
這裡寫圖片描述

from docx import
Document from docx.shared import Inches document = Document() document.add_heading('Document Title', 0) p = document.add_paragraph('A plain paragraph having some ') p.add_run('bold').bold = True p.add_run(' and some ') p.add_run('italic.').italic = True document.add_heading('Heading, level 1', level=1
) document.add_paragraph('Intense quote', style='IntenseQuote') document.add_paragraph( 'first item in unordered list', style='ListBullet' ) document.add_paragraph( 'first item in ordered list', style='ListNumber' ) document.add_picture('monty-truth.png', width=Inches(1.25)) table = document
.add_table(rows=1, cols=3) hdr_cells = table.rows[0].cells hdr_cells[0].text = 'Qty' hdr_cells[1].text = 'Id' hdr_cells[2].text = 'Desc' for item in recordset: row_cells = table.add_row().cells row_cells[0].text = str(item.qty) row_cells[1].text = str(item.id) row_cells[2].text = item.desc document.add_page_break() document.save('demo.docx')

官方樣例在用到‘style’屬性時可能會報錯,如果執行上面樣例出錯,可將含有‘style’屬性相關程式碼註釋掉即可

最後補充一些關於字型的格式
如果想改變字型的大小,字形,對齊方式可借鑑以下程式碼

run = paragraph.add_run(text)#增加一段文字
font = run.font
font.name = name#字型名稱
font.size = Pt(size)#字型大小多少磅
if(alignment != None) :
    paragraph.alignment = alignment#兩端對齊

注:目前該外掛只能修改英文的字形(宋體,仿宋…),中文則一律使用“MS Mincho (中文正文)”

更多使用方法可用上提示的官網文件中查詢