Python——word操作

安装:

1、使用命令

pip install  python-docx

2、或者手动下载

写入word文档:

#coding=utf-8

from docx import Document

from docx.shared import Pt

from docx.shared import Inches

from docx.oxml.ns import qn

# 打开文档

document = Document()

# 加入不同等级的标题

document.add_heading(u'MS WORD写入测试',0)

document.add_heading('一级标题',level=1)

document.add_heading('二级标题',level=2)

# 添加文本

paragraph = document.add_paragraph(u'我们在做文本测试!')

# 设置字号

run = paragraph.add_run(u'设置字号、')

run.font.size = Pt(24)

# 设置字体

run = paragraph.add_run('Set Font,')

run.font.name = 'Consolas'

# 设置中文字体

run = paragraph.add_run('设置中文字体、')

run.font.name='宋体'

r = run._element

r.rPr.rFonts.set(qn('w:eastAsia'), '宋体')

# 设置斜体

run = paragraph.add_run(u'斜体、')

run.italic = True

# 设置粗体

run = paragraph.add_run(u'粗体').bold = True

# 增加引用

document.add_paragraph('Intense quote',style='Intense Quote')

# 增加无序列表

document.add_paragraph('无序列表元素1', style='List Bullet')

document.add_paragraph('无序列表元素2', style='List Bullet')

# 增加有序列表

document.add_paragraph('有序列表元素1', style='List Number')

document.add_paragraph('有序列表元素2', style='List Number')

# 增加图像(此处用到图像image.bmp,请自行添加脚本所在目录中)

document.add_picture('image.bmp',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 = 'Id'

hdr_cells[2].text = 'Desc'

# 再增加3行表格元素

for i in xrange(3):

       row_cells = table.add_row().cells

       row_cells[0].text = 'test'+str(i)

       row_cells[1].text = str(i)

       row_cells[2].text = 'desc'+str(i)

# 增加分页

document.add_page_break()

# 保存文件

document.save('测试.docx')

读取word文档:

#coding=utf-8

from docx import Document

#打开文档

document = Document(u'测试.docx')

# 读取每段资料

l = [ paragraph.text.encode('gb2312') forparagraph in document.paragraphs];

# 输出并观察结果,也可以通过其他手段处理文本即可

for i in l:

   print i

# 读取表格材料,并输出结果

tables = [table for table indocument.tables];

for table in tables:

       for row in table.rows:

           for cell in row.cells:

               print cell.text.encode('gb2312'),'\t',

           print

       print '\n'

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。