一、思路和基础知识
因为我们要进行文件相关的操作,所以需要在一开始使用import导入Python内置的os模块。
我们需要先获取该文件夹下所有的答题卡列表,再使用for循环遍历文件夹中所有学生的答题卡,以便之后逐个读取信息。
完成了第一个步骤,接下来,我们就需要在for循环里,依次获取每位学生的班级、姓名、学号、选择题分数和填空题分数。
面对总共三个班的学生,每位学生都有相对应的五条信息,我们应该如何在程序中存储这些数据呢?我们可以在for循环内,使用字典来存储每位学生的信息。在这个字典中,我们用5个键(key)值(value)对来分别存储学生的班级、姓名、学号、填空题成绩和选择题成绩。键的名称和对应数据如图所示。
确定使用字典来存储每个学生的数据后,我们可以在for循环外,使用一个列表来汇总存储所有学生的字典数据。如图所示:列表中的每个元素就是一个装了学生信息的字典。
# 使用import导入os模块
import os
# 将乔老师的答题卡文件夹路径 /Users/qiao/answerKey 赋值给变量allKeyPath
allKeyPath = "/Users/qiao/answerKey"
# 使用os.listdir()函数获取该路径下所有的文件,并赋值给变量allItems
allItems = os.listdir(allKeyPath)
# 定义一个空列表allStudentsData存储所有学生数据
allStudentsData = []
# 使用for循环逐个遍历所有学生答题卡
for item in allItems:
# 定义一个空字典studentData存储单个学生数据
studentData = {
}
# 使用os.path.splitext()函数获取文件名的前半段,并赋值给变量fileName
fileName = os.path.splitext(item)[0]
# 使用split()函数以"-"分隔文件名,将第1部分班级信息赋值到学生数据字典的classInfo键里
studentData["classInfo"] = fileName.split("-")[0]
# 使用split()函数以"-"分隔文件名,将第2部分姓名信息赋值到学生数据字典的name键里
studentData["name"] = fileName.split("-")[1]
# 使用append()函数将studentData添加到总学生数据allStudentsData中
allStudentsData.append(studentData)
# 使用print输出变量allStudentsData
print(allStudentsData)
刚刚我们已经完成了前两步,现在我们来完成第三步:确定答题卡中要读取的信息位置。
在开始确定答题卡中要读取的信息位置前,我们需要先学习一下Word文档的基本结构。
一个Word文件就是一个Word文档(Document)。Word文档(Document)的基本组成单位是段落(Paragraph)。标题、目录、正文、图形、空行都是段落。每个段落之中的内容可以具有不同的样式(Style)。常见的样式有:字体、字形、字号、字体颜色、下划线、删除线、上标和下标等。连续具有相同样式的基本单元可称为一个样式块(run)。 例如,图中这一段话原本是同一个样式块。但在这个段落中加粗一个字,那么这个字就形成了一个样式块。并且这个加粗的字的左右两边都被切割成了新的样式块。这样这句话就变成了三个样式块。 没有任何内容的空行段落里没有样式块。段落里只要有内容就至少包含一个样式块。
除了段落外,Word文档中还能嵌入表格(Table)。表格和段落在Word文档中属于并列级别。也就是说表格不属于任何段落,我们不能够通过遍历段落来获取表格。
和Excel表格的结构很相似,Word文档中的表格也是由单元格(Cell)组成。 单元格中的内容可以包含段落和表格,相当于独自构成了一个完整的Word文档。
和Excel表格的结构很相似,Word文档中的表格也是由单元格(Cell)组成。 单元格中的内容可以包含段落和表格,相当于独自构成了一个完整的Word文档。
二、安装docx
要使用Python对Word文档进行读取,我们需要安装一个用于读取数据的工具python-docx。
python-docx是一个用于创建和更新Word文档的开源模块。需要注意的是,该模块只可读取、写入.docx文件,不支持.doc文件。
安装python-docx非常简单,在终端中输入代码:pip install python-docx即可。
如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:
pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple/文章来源:https://www.toymoban.com/news/detail-403366.html
三、读取doc文档
在安装和导入python-docx之后,读取指定路径下的Word文档需要使用函数ÿ文章来源地址https://www.toymoban.com/news/detail-403366.html
到了这里,关于python办公自动化(6)——读取word文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!