Python word實(shí)現(xiàn)讀取及導(dǎo)出代碼解析
2個(gè)簡(jiǎn)單的代碼,幫你實(shí)現(xiàn)word的導(dǎo)出和word的讀取
功能一:導(dǎo)出word,word中的內(nèi)容為

代碼:
from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #設(shè)置對(duì)象居中、對(duì)齊等。
from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #設(shè)置制表符等
from docx.shared import Inches #設(shè)置圖像大小
from docx.shared import Pt #設(shè)置像素、縮進(jìn)等
from docx.shared import RGBColor #設(shè)置字體顏色
from docx.shared import Length #設(shè)置寬度
from docx.oxml.ns import qn
import time
today=time.strftime("%Y{y}%m{m}%ddfzvdh5",time.localtime()).format(y="年",m="月",d="日")
document=Document()
document.styles["Normal"].font.name=u'宋體'# 設(shè)置文檔的基礎(chǔ)字體
document.styles["Normal"].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋體')#設(shè)置文檔的基礎(chǔ)中文字體
#初始化建立第一個(gè)自然段
p1=document.add_paragraph()
p1.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER#對(duì)齊方式為居中
run1=p1.add_run("關(guān)于下達(dá)%s產(chǎn)品的通知"%today)
run1.font.name="微軟雅黑"
run1.font.size=Pt(21) # 字體大小為21磅
run1.font.bold=True #加粗
p1.space_after=Pt(5)#段后距離5磅
p1.space_before = Pt(5)# 段前距離5磅
# 建立第一個(gè)自然段
i='客戶3'
p2 = document.add_paragraph()
run2 = p2.add_run("%s:" % i)
run2.font.name = "仿宋_GB2312"
run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
run2.font.size = Pt(16)
run2.font.bold = True
# 建立第一個(gè)自然段
p3 = document.add_paragraph()
run3 = p3.add_run(" 根據(jù)公司安排,為提供優(yōu)質(zhì)客戶服務(wù),我單位將價(jià)格通知如下:" )
run3.font.name = "仿宋_GB2312"
run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
run3.font.size = Pt(16)
run3.font.bold = True
# 建立表格
table=document.add_table(rows=3,cols=3,style='Table Grid')
table.cell(0,0).merge(table.cell(0,2))# 合并第一行
table_run1=table.cell(0,0).paragraphs[0].add_run('XX產(chǎn)品報(bào)價(jià)表')# 合并單位格內(nèi)填入XX產(chǎn)品報(bào)價(jià)表
table_run1.font.name = u"隸書"
table_run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'隸書')
table.cell(0, 0).paragraphs[0].alighment=WD_PARAGRAPH_ALIGNMENT.CENTER#居中
table.cell(1, 0).text='日期'
table.cell(1, 1).text = '價(jià)格'
table.cell(1, 2).text = '備注'
table.cell(2, 0).text = today
table.cell(2, 1).text ='100'
table.cell(2, 2).text = ''
document.add_page_break()#分頁符
document.save('價(jià)格通知.docx')#保存
需要說明的是
run3.font.name = "仿宋_GB2312"
run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
這兩句均是設(shè)置字體為仿宋_GB2312,之所以要兩種格式寫兩遍,是因?yàn)閣ord對(duì)中文支持不太友好,需要再填一句
功能二:讀取word,word中的內(nèi)容為

讀取表格外文字的代碼:
from docx import Document
document=Document("長恨歌.docx")
print("讀取非表格中的內(nèi)容:")
all_paragraphs=document.paragraphs
for paragraph in all_paragraphs:
print(paragraph.text)
讀取表格內(nèi)文字的代碼:
from docx import Document
document=Document("長恨歌.docx")
print("讀取表格中的內(nèi)容:")
tables=document.tables
for i in range(len(tables)):
tb=tables[i]#獲取表格的行
tb_rows=tb.rows #讀取每一行內(nèi)容
for i in range(len(tb_rows)):
row_data=[]
row_cells=tb_rows[i].cells#讀取每一行單元格內(nèi)容
for cell in row_cells:#單元格內(nèi)容
row_data.append(cell.text)
print(''.join(row_data))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python解析html提取數(shù)據(jù),并生成word文檔實(shí)例解析
- Python實(shí)現(xiàn)批量將word轉(zhuǎn)html并將html內(nèi)容發(fā)布至網(wǎng)站的方法
- 如何基于Python實(shí)現(xiàn)word文檔重新排版
- Python操作Word批量生成合同的實(shí)現(xiàn)示例
- 如何基于python把文字圖片寫入word文檔
- Python基于wordcloud及jieba實(shí)現(xiàn)中國地圖詞云圖
- 在python下實(shí)現(xiàn)word2vec詞向量訓(xùn)練與加載實(shí)例
- Pycharm中安裝wordcloud等庫失敗問題及終端通過pip安裝的Python庫如何添加到Pycharm解釋器中(推薦)
- python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML
相關(guān)文章
Python批量加密Excel文件的實(shí)現(xiàn)示例
在日常工作中,保護(hù)敏感數(shù)據(jù)是至關(guān)重要的,本文主要介紹了Python批量加密Excel文件的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
Python提取JSON格式數(shù)據(jù)實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于Python提取JSON格式數(shù)據(jù)的相關(guān)資料, Python提供了內(nèi)置的json模塊,用于處理JSON數(shù)據(jù),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-07-07
深入理解python中sort()與sorted()的區(qū)別
Python list內(nèi)置sort()方法用來排序,也可以用python內(nèi)置的全局sorted()方法來對(duì)可迭代的序列排序生成新的序列。這篇文章主要介紹了python中sort()與sorted()的區(qū)別,需要的朋友可以參考下2018-08-08
Django CSRF跨站請(qǐng)求偽造防護(hù)過程解析
這篇文章主要介紹了Django CSRF跨站請(qǐng)求偽造防護(hù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
Python多線程threading和multiprocessing模塊實(shí)例解析
這篇文章主要介紹了Python多線程threading和multiprocessing模塊等相關(guān)內(nèi)容,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,這里分享給大家,需要的朋友可以參考下2018-01-01
python matplotlib餅狀圖參數(shù)及用法解析
這篇文章主要介紹了python matplotlib餅狀圖參數(shù)及用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
這篇文章主要介紹了PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

