python操作word(2)
操作已经存在的word
1.打开已存在的文档
doc = Document('./xxx.docx')
2.获取段落对象+内容
#记得paragraph有s
result = doc.paragraphs
# 获取段落内容
print(result[0].text)
#当然我也可以获取所有段落内容
for i in range(len(result)):
print(result[i].text)
3.分割段落
- 主要是分割run的,当一个段落有run组成,可以使用split达到分割开的效果。
print(result[4].text.split(':'))
print(result[4].text.split(':')[1])
有如下结果:可见被分割,达到分开的效果
4.增加、修改内容
# 修改
print(result[0].text = '调研分析报告')
#增加内容
# 方法1
result[1].add_run('+追加的内容')
# 方法2
result[1].text += '+我再拼加的内容'
# 前面拼加
result[1].text = '前面我拼加的内容+'+result[1].text
word显示结果如下:
5、获取表格内容
all_table = doc.tables
print(all_table[0])
6.增加、修改内容
- all_table[0]:[0]:表示所有表中的第一个
# 修改指定单元格内容
all_table[0].cell(0,0).text = 'gender'
# 增加行
all_table[0].add_row()
# 获取内容
print(all_table[0].cell(0, 1).text)
7.获取表格中的内容
- result:获取我已经存在word文档中的表3
- 输出表中所有内容
result3 = doc.tables[2]
all_data1 =[]
for i in result3.rows:
if i._index == 0 :
continue
data1 = []
cells1 = i.cells
for cells01 in cells1:
data1.append(cells01.text)
all_data1.append(data1)
print(all_data1)
输出形式:以列表的形式输出
8.将列表中的数据以表格的方式添加到word文档中
假设我有个students表如下:
students = [
[‘小明’, ‘18’, ‘110’, ‘四川成都’],
[‘小花’, ‘30’, ‘119’, ‘重庆’],
[‘张三’, ‘25’, ‘120’, ‘深圳’],
[‘李四’, ‘26’, ‘134’, ‘杭州’],
[‘老王’, ‘19’, ‘190’, ‘四川成都’]]
添加到word中:
- 在这里要知道:获取行:result4.rows,获取列:result4.columns
list1 = ['名字','年龄','人数','地址']
#表中我利用了一个表格的样式,使表格更美观
result4 = doc.add_table(len(students),len(students[0]),'Medium Grid 2 Accent 5')
result4.add_row()
for col001 in result4.columns:
col = col001._index
result4.cell(0,col).text = list1[col]
for rows in result4.rows:
for cols in result4.columns:
if rows._index == 0:
continue
else:
result4.cell(rows._index,cols._index).text = students[rows._index-1][cols._index]
#别忘了保存,否则看不见效果
doc.save('./xxxx.docx')
看看在word中的效果:
至此,python对word的操作大概到此结束了。
接下来我将会进行python前端的学习。
python前端
前端开发三大技术
- HTML:负责网页内容
- CSS:负责网页样式和布局
- JS:负责网页内容变化和网页交互
认识HTML
标签语法:
HTML分为单标签和双标签
双标签 : <标签名 属性名 = 属性值 属性名 = 属性值> </>
单标签:<标签名 属性1 = 属性值1>
- 说到标签,标签名是什么呢?
它是由HTML决定好了的关键词,就像python的关键词一样,要遵循他的规则,使用了会产生效果的标签关键词。 - 属性值呢?
属性可以有也可以没有,如果有多个属性之间可以空格隔开,属性值必须用双引号引起来 - 双标签的标签内容呢?
可以是文字也可以是其他一个或i多个标签
HTML
标题
- 设置顶栏图标(link)
link标签:导入外部文件
- rel属性:确定外部文件的作用设置网页的图标
- type属性:文件类型:“类型/文件后缀名“
- href属性:文件路径需要导入的具体文件的路径
<html>
<head>
<meta charset="utf-8">
<title>京东,欢迎登录</title>
<link rel = 'icon' type="image/jpg" href='./img/pzc001.jpg'>
</head>
<body>
测试
</body>
</html>
结果网页中如下显示:
网页顶栏原图标:
网页顶栏更改后的图标:
body的标签
- 标题标签:n = 1到6,代表几级标题
<body>
文字内容:
<!-- 标题标签:h1--h6 -->
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</body>
- 输入段落内容
空格(即缩进)符号:
-  :空一个像素
- &emsp:空一个空格
<p> (空两格)xxxxxxx内容</p>
<p> (空两个像素)xxxx内容。</p>
- 一行显示多个字符:span
<span>联播</span>
<span>+</span>
<span>北京时间9月5日12时52分</span>
显示效果:
- 段落内容加粗(b,strong),倾斜(i,em)
<!-- (b加粗) -->
<p>
<b>联播+北京时间9月5日12时52分</b>
</p>
<!-- (strong加粗) -->
<p>
<strong>联播+北京时间9月5日12时52分</strong>
</p>
<!-- (倾斜加粗) -->
<p>
<i>
<b>联播+北京时间9月5日12时52分
</b>
</i>
</p>
显示效果:
- 换行
在HTML中直接回车是无法实现换行功能的:按多个空格又只会显示一个空格
br :有换行的作用
<!--加br效果-->
<p>床前明月光,<br >疑是地上霜。<br >举头望明月,<br >低头思故乡。</p>
<!--加br效果-->
<p>床前明月光,疑是地上霜。举头望明月,低头思故乡。</p>
显示效果:
图片和超链接
显示本地图片
<img src = 'img/001.png' alt=""><br />
<img src="img/pzc.jpg" title="朴宰灿">
显示网页图片
<img src="https://xxx图片网址" alt="图片加载失败">
<!-- 点击图片显示title的内容 -->
<img src="img/pzc.jpg" title="描述图片内容">
超链接
- 文字超链接
使用到的target=“_blank”:转换方式,也就是在新网页中打开超链接。target默认为在当前窗口打开超链接
<a href="https://xxxx网址" target="_blank">共筑网络安全防线</a><br/>
<a href="https://www.baidu.com/?tn=88093251_70_hao_pg" target="_blank">百度</a><br/>
- 图片超链接
<a href="https://xxx网址" target="_blank">
<img src="./文件/照片名字.jpg" alt="">
</a>