1.word文件写操作
# 注意:使用docx之前需要先安装第三方库:python-docx
from docx import Document
# 导入数值计量单位:Inches-英尺 Cm-厘米 Pt-像素
from docx.shared import Inches,Cm,Pt
1)创建空文档
doc = Document()
2)添加内容
# 1)标题
# 1)文档对象.add_heading(text=’’,level=1) - 添加指定级别的标题,并且返回标题对象
# text - 标题内容
# level - 级别,最小是0,最大是9
h1 = doc.add_heading('我是标题1',level=0)
print(h1)
# 2)添加段落文字:文档对象.add_paragraph(text=’’)
doc.add_heading('2.添加段落文字',level=0)
p1 = doc.add_paragraph('2021年的世界依然笼罩在疫情阴云之下。对于中国而言,这一年是中国“十四五”开局之年,也是开启全面建设社会主义现代化国家新征程的第一年。在百年变局叠加世纪疫情的特殊背景下,如何做好经济社会发展工作、迈好“十四五”时期我国发展第一步至关重要。')
print(p1)
# 3)插入段落:段落对象.insert_paragraph_before() - 在指定段落对象前插入指定段落内容,返回插入的段落对象
p2 = p1.insert_paragraph_before('ssc')
print(p2)
# 4)插入分页
# 插入分页后的内容会在新的一页中显示
doc.add_page_break()
# 5)插入图片
p3 = doc.add_picture('files\\a.png',width=Cm(3))
print(p3)
# 6)添加新的一页(和添加分页的功能一样!)
doc.add_section()
doc.add_heading('新一页!')
# 7)添加表格
# a.创建表格对象
table = doc.add_table(3,4)
# b.获取单元格:表格对象.cell(行号,列号)
cell1 = table.cell(0,0)
cell1.text = '姓名'
cell2 = table.cell(0,1)
cell2.text = '性别'
# c.获取所有的行
row_2 = table.rows[1]
cell3 = row_2.cells[0]
cell3.text = '小明'
# d.添加行和列
table.add_row()
table.add_column(Cm(3))
3)保存文件
doc.save('files\\demo1.docx')
2.word内容样式
from docx import Document
from docx.shared import Cm,Pt,RGBColor
# 导入对齐方式对应的值
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
doc = Document()
# 1.段落样式
# style的值:ListBullet(文本内容前带点)、normal(默认的)
p1 = doc.add_paragraph('我是段落1',style='ListBullet')
# 2.倾斜和加粗
p2 = doc.add_paragraph('我是不能单独设置样式的部分,')
run1 = p1.add_run('我是加粗的部分,')
# 加粗
run1.bold=True
run2=p2.add_run('我是倾斜的部分,')
# 倾斜
run2.italic=True
run3=p2.add_run('我是又加粗又倾斜的部分,')
# 加粗且倾斜
run3.bold=True
run3.italic=True
p3=doc.add_paragraph()
run=p3.add_run('整段都加粗:与其在你不要的世界里,何苦不找个人来代替')
run.bold=True
# 3.在表格中显示图片
table = doc.add_table(2,3)
cell = table.cell(0,0)
p = cell.add_paragraph()
run = p.add_run('文字\n')
run.add_picture('files\\a.png')
# 4.对齐方式
h1 = doc.add_heading('我是标题',level=0)
# 对齐方式的值:LEFT(左对齐)、RIGHT(右对齐)、CENTER(水平居中)、JUSTIFY_MED(垂直方向居中)、JUSTIFY_HI(顶部对齐)、JUSTIFY_LOW(底部居中)
h1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
# 5.表格内容对齐
table2 = doc.add_table(2,3)
cell1 = table.cell(0,0)
p = cell1.add_paragraph('姓名')
p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
# 6.设置字体
# 字体的设置只能在run对象上进行设置
h1 = doc.add_heading(level=1)
run = h1.add_run('标题显示内容')
# 设置字体大小
run.font.size = Pt(50)
# 设置字体颜色
run.font.color.rgb = RGBColor(8,0,8)
# 设置字体名称
run.font.name = u'楷体'
# 注册字体(使用字体后必须注册)
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'楷体')
doc.save('files\\demo2.docx')
3.word文件读操作
from docx import Document
# 1.打开word文件创建文档对象
doc = Document('files\\demo1.docx')
# 2获取段落内容
# 1)获取整个文档中所有的段落
all_p = doc.paragraphs
print(all_p)
# 2)获取段落中的文字内容
# 段落对象.text
for p in all_p:
print(f'===:{p.text}')
# 3.获取表格内容
# 1)获取所有的表
all_table = doc.tables
print(all_table)
# 2)获取表中单元格内容
table = all_table[-1]
cell = table.cell(1,2)
# 获取单元格内容
print(cell.text)
# 修改单元格内容
cell.text = '100'
doc.save('files\\demo1.docx')