python之读写.docx文件实例

.docx文件是一种由Microsoft Word处理的二进制文件格式,取代了早期版本的.doc格式。它包含文本、图像、表格和其他文档元素,并用于Microsoft Office Word 2007及更高版本。

.docx文件通常使用Office Open XML标准(ISO/IEC 29500)进行编码,并使用ZIP存档格式进行封装。可以使用Microsoft Word或兼容的第三方应用程序打开和编辑.docx文件。

1、写入.docx文件文件

python 复制代码
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 创建一个新的文档
doc = Document()

# 添加标题,level为标题等级
doc.add_heading('Document Title', level=0)

# 添加段落
p = doc.add_paragraph('A plain paragraph having some ')
#加粗
p.add_run('bold').bold = True
p.add_run(' and some ')
#斜体
p.add_run('italic.').italic = True
#分页
doc.add_page_break()
# 添加带有样式的段落
styled_para = doc.add_paragraph()
styled_para.add_run('This paragraph has a style.').bold = True
styled_para.alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFY

# 添加带有图片的段落
doc.add_picture(r'C:\Users\yh\Pictures\rm.png', width=Pt(120))

# 添加表格
table = doc.add_table(rows=3, cols=3)
for i in range(3):
    for j in range(3):
        table.cell(i, j).text = f'Cell {i + 1}-{j + 1}'

# 添加带有颜色的文本
pcolor=doc.add_paragraph('This text is colored.', style='IntenseQuote')
pcolor.add_run('This text is also colored and in bold.').bold = True
pcolor.add_run('This text is also colored and in italic.').italic = True
pcolor.add_run('This text is also colored and underlined.').underline = True

# 保存文档
doc.save('demo.docx')
python 复制代码
import docx


def getText(fileName):
    doc = docx.Document(fileName)
    TextList = []
    for paragraph in doc.paragraphs:
        TextList.append(paragraph.text)

    return '\n'.join(TextList)
p1='''子曰:"学而时习之,不亦说乎?"'''
p2='''子曰:"温故而知新,可以为师。"'''
p3='''子曰:"学而不思则罔,思而不学则殆。"'''
p4='''子曰:"由,诲女知之乎!知之为知之,不知为不知,是知也"'''
doc = docx.Document()
print(len(doc.paragraphs))
doc.add_paragraph(p1)
doc.add_paragraph(p2)
doc.add_paragraph(p3)
doc.add_paragraph(p4)
doc.add_heading("论语十则",0)
doc.save(r'C:\\Users\\user\\Documents\\1.docx')
print("over!")

2、读取.docx文件

python 复制代码
import docx
import matplotlib.pyplot as plt
import base64
import io

# 打开文档
doc = docx.Document('demo.docx')

# 遍历文档中的段落
for para in doc.paragraphs:
    # 打印段落的文本内容
    print(para.text)

# 遍历文档中的表格
for table in doc.tables:
    # 遍历表格中的行
    for row in table.rows:
        # 遍历行中的单元格
        for cell in row.cells:
            # 打印单元格的文本内容
            print(cell.text)

Document Title

A plain paragraph having some bold and some italic.

This paragraph has a style.

This text is colored.This text is also colored and in bold.This text is also colored and in italic.This text is also colored and underlined.

Cell 1-1

Cell 1-2

Cell 1-3

Cell 2-1

Cell 2-2

Cell 2-3

Cell 3-1

Cell 3-2

Cell 3-3

相关推荐
Python大数据分析@18 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树19 分钟前
简单的签到程序 python笔记
笔记·python
Shy96041832 分钟前
Bert完形填空
python·深度学习·bert
上海_彭彭43 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
zhongcx011 小时前
使用Python查找大文件的实用脚本
python
yyfhq2 小时前
sdnet
python
测试19982 小时前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
love_and_hope2 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
海阔天空_20132 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
零意@3 小时前
ubuntu切换不同版本的python
windows·python·ubuntu