怎么建网站app,网站建设教程参加苏州久远网络,东莞视频课程网站建设,网站服务器无法访问目录
一、环境安装
二、文档各组成结构获取
2.1 组成结构讲解
2.2 段落run对象的切分标准
三、获取整篇文档内容
四、写入指定样式的数据
4.1 通过add_paragraph与add_run参数添加样式
4.2 单独设置文本样式
五、添加标题
六、换行符换页符
七、添加图片数据
…目录
一、环境安装
二、文档各组成结构获取
2.1 组成结构讲解
2.2 段落run对象的切分标准
三、获取整篇文档内容
四、写入指定样式的数据
4.1 通过add_paragraph与add_run参数添加样式
4.2 单独设置文本样式
五、添加标题
六、换行符换页符
七、添加图片数据
7.1 向新文档任意位置添加图片
7.2 向已有文档添加图片
八、添加表格
8.1 添加单个单元格
8.2 批量填充表格
8.3 添加行列
8.4 合并单元格 一、环境安装
pip install -U python-docx0.7.4 二、文档各组成结构获取
2.1 组成结构讲解
Word文档的组成结构
.docx文档段落内容
python-docx使用说明和纯文本相比.docx文件有很多结构。这些结构在python-docx中有三种不同的类型来表示。在最高一层Document对象表示整个文档。Document对象包含一个Paragraph对象的列表表示文档中的段落用户在Word文档中输入时如果按下回车新的段落就开始了。每个Paragraph对象都包含一个Run对象的列表。 import docx# 基于Document方法读取word文档
doc docx.Document(./demo.docx)
# 获取指定段落
print(doc.paragraphs[0].text) # 我正在学习Python数据分析。
print(doc.paragraphs[0].runs[0].text) # 我正在学习Python数据分析。 2.2 段落run对象的切分标准 import docx# 基于Document方法读取word文档
doc docx.Document(./demo.docx)
# 获取指定段落
print(doc.paragraphs[0].text) # 我正在学习Python数据分析。
print(doc.paragraphs[2].runs[0].text) # Python是世界上最好的语言,
print(doc.paragraphs[2].runs[1].text) # 你觉得呢
print(doc.paragraphs[4].runs[0].text) # A plain paragraph with some
print(doc.paragraphs[4].runs[1].text) # bold
print(doc.paragraphs[4].runs[2].text) # and some
print(doc.paragraphs[4].runs[3].text) # italic
总结
中文段落中是以标点符号进行run的构建/切分英文段落中是以单词样式不同进行构建/切分如这个例子bold是加粗了italic是斜体了。 三、获取整篇文档内容
如果你只关心Word文档中的文本不关心样式信息就可以利用getText()函数。它接受一个.docx文件名返回其中文本的字符串当然getText()函数需要自己实现。
import docxdef getText(filename):doc docx.Document(filename)fullText []for para in doc.paragraphs:fullText.append(para.text)return \n.join(fullText)print(getText(./demo.docx)) 四、写入指定样式的数据
4.1 通过add_paragraph与add_run参数添加样式
import docx# 创建一个全新的文档对象
dc docx.Document()
# 添加段落内容
p1 dc.add_paragraph(texti am a student!i love reading!, styleHeading1)
p2 dc.add_paragraph(texti am a worker!i love Python!, styleHeading5)
# 添加内容
p2.add_run(text我是内容1)
p2.add_run(text我是内容2, styleQuoteChar)
dc.save(./new_word.docx) 4.2 单独设置文本样式
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH# 创建一个全新的文档对象
document Document()
# 添加段落
p document.add_paragraph()
# 添加内容
run p.add_run(个人简历)
run.font.size Pt(26) # 设置字体大小
p.paragraph_format.alignment WD_ALIGN_PARAGRAPH.CENTER # 居中
document.save(./new_word.docx) 五、添加标题
添加标题 调用add_heading()将添加一个段落并使用一种标题样式add_heading()的参数是一个标题文本的字符串以及一个从0到4的整数。整数0表示标题是Title样式这用于文档的顶部。整数1到4是不同的标题层次1是主要的标题4是最低层的子标题。add_heading()返回一个paragraph对象让你不必多花一步从Document对象中提取它。
import docx# 创建一个全新的文档对象
dc docx.Document()
dc.add_heading(我是标题, 0)
dc.save(./new_word.docx) 六、换行符换页符
import docx# 创建一个全新的文档对象
dc docx.Document()
dc.add_paragraph(i am a teacher!)
dc.paragraphs[0].runs[0].add_break() # 添加一个换行符
dc.paragraphs[0].add_run(hello!!!)
dc.add_paragraph(i am a student!)
dc.save(./new_word.docx) import docx# 创建一个全新的文档对象
dc docx.Document()
dc.add_paragraph(i am a teacher!)
dc.paragraphs[0].runs[0].add_break(docx.text.WD_BREAK.PAGE) # 添加一个换页符
dc.paragraphs[0].add_run(hello!!!)
dc.add_paragraph(i am a student!)
dc.save(./new_word.docx) 七、添加图片数据
7.1 向新文档任意位置添加图片 7.2 向已有文档添加图片
注意向已有文档添加图片不能放在任意位置只能追加到最后。
import docx# 创建一个全新的文档对象
dc docx.Document(./new_word.docx)
dc.add_paragraph(i am a teacher!)
dc.add_picture(./python.jpg, widthdocx.shared.Inches(3), heightdocx.shared.Cm(5))
dc.add_paragraph(i am a student!)
dc.save(./new_word.docx) 八、添加表格
8.1 添加单个单元格
import docx# 创建一个全新的文档对象
dc docx.Document()
# 创建三行三列的表格
tb dc.add_table(rows3, cols3, styleLight List Accent 3)
# 返回所有行
print(list(tb.rows))
# 返回所有列
print(list(tb.columns))
# 向单元格中添加数据 第一行的第一个单元格
tb.rows[0].cells[0].add_paragraph(hello)
dc.save(./new_word.docx) 8.2 批量填充表格
import docx# 创建一个全新的文档对象
dc docx.Document()
# 创建三行三列的表格
tb dc.add_table(rows3, cols3, styleLight List Accent 3)
# 批量填充表格
alist [泰勒斯, 毕达哥拉斯, 赫拉克利特, 苏格拉底, 柏拉图, 亚里士多德, 伏尔泰, 卢梭, 康德]
i 0
for row in tb.rows:for cell in row.cells:cell.add_paragraph(textalist[i])i 1
dc.save(./new_word.docx) 8.3 添加行列
import docx# 创建一个全新的文档对象
dc docx.Document()
# 创建三行三列的表格
tb dc.add_table(rows3, cols3, styleLight List Accent 3)
# 添加单个行
tb.add_row()
# 添加单个列
tb.add_column()
dc.save(./new_word.docx) 8.4 合并单元格
import docx# 创建一个全新的文档对象
dc docx.Document()
# 创建三行三列的表格
tb dc.add_table(rows3, cols3, styleLight List Accent 3)# 获取第一行第二列的单元格
c1 tb.cell(0, 1)
# 获取第二行第二列的单元格
c2 tb.cell(1, 1)# 合并单元格
c1.merge(c2)
dc.save(./new_word.docx)