新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python怎么調(diào)用word?
使用python操作word

成都創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南安企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都做網(wǎng)站,南安網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
有兩種方式:
1.使用win32com擴展包
只對windows平臺有效
代碼:
# coding=utf-8
import win32com
from win32com.client import Dispatch, DispatchEx
word = Dispatch('Word.Application') # 打開word應(yīng)用程序
# word = DispatchEx('Word.Application') #啟動獨立的進程
word.Visible = 0 # 后臺運行,不顯示
word.DisplayAlerts = 0 # 不警告
path = 'G:/WorkSpace/Python/tmp/test.docx' # word文件路徑
doc = word.Documents.Open(FileName=path, Encoding='gbk')
# content = doc.Range(doc.Content.Start, doc.Content.End)
# content = doc.Range()
print '----------------'
print '段落數(shù): ', doc.Paragraphs.count
# 利用下標(biāo)遍歷段落
for i in range(len(doc.Paragraphs)):
para = doc.Paragraphs[i]
print para.Range.text
print '-------------------------'
# 直接遍歷段落
for para in doc.paragraphs:
print para.Range.text
# print para #只能用于文檔內(nèi)容全英文的情況
doc.Close() # 關(guān)閉word文檔
# word.Quit #關(guān)閉word程序
2.使用docx擴展包
優(yōu)點:不依賴操作系統(tǒng),跨平臺
安裝:
pip install python-docx
代碼:
import docxdef read_docx(file_name): doc = docx.Document(file_name) content = '\n'.join([para.text for para in doc.paragraphs]) return content
創(chuàng)建表格
# coding=utf-8
import docx
doc = docx.Document()
table = doc.add_table(rows=1, cols=3, style='Table Grid') #創(chuàng)建帶邊框的表格
hdr_cells = table.rows[0].cells # 獲取第0行所有所有單元格
hdr_cells[0].text = 'Name'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
# 添加三行數(shù)據(jù)
data_lines = 3
for i in range(data_lines):
cells = table.add_row().cells
cells[0].text = 'Name%s' % i
cells[1].text = 'Id%s' % i
cells[2].text = 'Desc%s' % i
rows = 2
cols = 4
table = doc.add_table(rows=rows, cols=cols)
val = 1
for i in range(rows):
cells = table.rows[i].cells
for j in range(cols):
cells[j].text = str(val * 10)
val += 1
doc.save('tmp.docx')
讀取表格
# coding=utf-8import docx
doc = docx.Document('tmp.docx')for table in doc.tables: # 遍歷所有表格
print '----table------'
for row in table.rows: # 遍歷表格的所有行
# row_str = '\t'.join([cell.text for cell in row.cells]) # 一行數(shù)據(jù)
# print row_str
for cell in row.cells:
print cell.text, '\t',
print 網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:python怎么調(diào)用word?
文章分享:http://www.dlmjj.cn/article/cdjjjhe.html


咨詢
建站咨詢
