(1条消息) python 读写 docx
1、打开一个doc文档
import docxfrom docx import Documentdoc = Document(file_path)
2、新建一个doc文档
# 新建doc文档doc = docx.Document()
3、设置doc文档格式
# 将正文英文字体设置成doc.styles['Normal'].font.name = u'Times New Roman'# 将正文中文字体设置成宋体doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')# 获取正文样式style = doc.styles['Normal']# 获取段落样式paragraph_format = style.paragraph_format# 首行缩进0.74厘米,即2个字符paragraph_format.first_line_indent = Cm(0.74)# 设置1级标题的字体为Times New Roman, 且无缩进# 这种写法只能够修改Normal样式的字体,修改标题的字体无效。style_heading1 = doc.styles['Heading 1']style_heading1.font.name = u'Times New Roman'heading1_format = style_heading1.paragraph_formatheading1_format.first_line_indent = Cm(0)# 设置2级标题的字体为Times New Roman, 且无缩进style_heading2 = doc.styles['Heading 2']style_heading2.font.name = 'Times New Roman'heading2_format = style_heading2.paragraph_formatheading2_format.first_line_indent = Cm(0)
4、向docx文档写入内容
# 写入一级标题doc.add_heading(dashboard, 1)# 写入二级标题doc.add_heading(visualization, 2)# 写入 段落文字doc.add_paragraph('该visualization的类型为' + visualization_type + ',其作用是' + description + '。其界面如下图所示:', style='Body Text')# 写入图片# 指定图片宽度为 4英寸, 图片高度会自动调整doc.add_picture(pic_path, width=Inches(4))last_paragraph = doc.paragraphs[-1]#图片居中设置last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER# 保存文档doc.save('resource/output.docx')
2、获取 paragraph的内容, doc.paragrashs是一个列表,遍历列表分别获取每一个段落的内容:
for j, paragraph in enumerate(doc.paragraphs):para_text = paragraph.text
标题也属于doc.paragrashs列表。
判断某个段落是否是标题:
paragraph.style.name == 'Heading 3'
赞 (0)
