题目描述
题目来源为2024年西建大学数学建模校赛C题:某单位委托了心理测评机构为148名应聘者进行了三种心理测评问卷,以了解应聘者的心理状态,问题出在测试者的问卷结果在附件中是以Word文档的形式给出,测评分数等结果在其中以表格形式给出,需要全部提取出来才可以进行之后建模数据处理。
手动录入方法
最低门槛方法,不多说,一个一个Ctrl CV即可,重复的机械劳动。
MATLAB录入
平时可能不会遇到从word导入数据的情况,以至于有些同学不太清楚,事实上MATLAB R2013b加入的readtable函数就可以读取word文档中的表格数据,不过由于附件中的文档存在多个表格,并且存在合并单元格等等情况,直接在函数中进行控制显得凌乱而且控制功能可能不齐全,所以这里可以使用R2021b新增的wordDocumentImportOptions导入对象十分方便地控制readtable函数读取word文档中的表格数据。
这个对象有5个变量属性,6个位置属性,6个替代规则,可以很方便的控制导入哪个表格,支持多种查找指定表格的方法,如何处理合并列、行的单元格,如何处理缺失值等等。
下面是一个简单的例子:
1 | opts = wordDocumentImportOptions( ... |
提一句
本学期开设了一门专业选修课:MATLAB数学建模,课本里面和老师在表格读取这块还是用的xlsread函数,但这个函数已经被MathWorks标记为:“不推荐”了:
R2019a: 不推荐使用 xlsread。
不推荐使用 xlsread。请改用 readtable、readmatrix 或 readcell。目前没有删除 xlsread 的计划。
从 R2019a 开始,请分别使用 readtable、readmatrix 或 readcell 将电子表格数据作为表、矩阵或元胞数组导入。与 xlsread 函数相比,readtable、readmatrix 和 readcell 函数>具有以下优势:
- 更好的跨平台支持和性能
- 自动检测数据格式和类型
- 能够使用导入选项来控制数据导入过程,包括错误和缺失数据的处理
如果课本能使用较新的readtable、readmatrix 和 readcell函数的话,同学们想必也是可以接触到word文档导入的。