1.安装
pip install python_docx
2.引入
import docx
from docx import Document
3.新建和打开文件
#新建文档并保存
import docx
from docx import Document
document = Document()
document.save('test.docx')
import docx
from docx import Document
document = Document('test.docx')
document.save(path)#原文件上修改
document.save(path2)#另存为
4.文件内容操作
1.add_heading(self, text="", level=1) 返回新添加到文档末尾的标题段落,text是标题内容,leval是标题等级
2.add_page_break(self) 添加分页符
3.add_paragraph(self, text=’’, style=None) 添加段落
4.add_picture(self, image_path_or_stream, width=None, height=None) 插入图片
5.add_section(self,start_type=WD_SECTION.NEW_PAGE) 在文档末尾添加了一个新部分。
6.add_table(self, rows, cols, style=None) 增加表格
from docx import Document
document = Document()
path='test.docx'
document.add_heading('This is a test', 0)#插入标题:0表示样式为title标题
document.add_heading('一级标题', level=1)#插入1级标题
p = document.add_paragraph("This is a paragraph\n"
"first row\n"
"second row\n"
".......")#插入段落
# document.add_picture('', width=Inches(1.25)) #添加图片并指定宽度
table = document.add_table(rows=1, cols=3) #添加一个表格,每行三列
hdr_cells = table.rows[0].cells #获取第一行的单元格列表对象
hdr_cells[0].text = 'Name' #为每一个单元格赋值
hdr_cells[1].text = 'sex'
hdr_cells[2].text = 'Age'
new_cells = table.add_row().cells #为表格添加一行
new_cells[0].text = 'Tom'
new_cells[1].text = 'mail'
new_cells[2].text = '15'
new_cells = table.add_row().cells #为表格添加一行
new_cells[0].text = 'Jack'
new_cells[1].text = 'famail'
new_cells[2].text = '18'
document.add_page_break() #添加分页符
document.save(path)
最终在path生成一个文档,内容如下:
5.读取文本和表格
document = Document(path) # 读入文件
for paragraph in document.paragraphs:
print(paragraph.text)
document = Document(path) # 读入文件
tables = document.tables # 获取文件中的表格集
table = tables[0] # 获取文件中的第一个表格
for i in range(0, len(table.rows)): # 从表格第一行开始循环读取表格数据
result = f'{(table.cell(i, 0).text):<5}' + "" + f'{(table.cell(i, 1).text):<5}' + "" + f'{(table.cell(i, 2).text):<5}'
# cell(i,0)表示第(i+1)行第1列数据,以此类推
print(result)