用Python讀寫word
阿新 • • 發佈:2019-02-17
準備階段
本文使用的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 (中文正文)”
更多使用方法可用上提示的官網文件中查詢