MATLAB 里的数据读取工具里,fgetvars
算是比较灵活好用的一个。尤其你要那种数值和字符串混在一起的文件时,真挺省事的。格式指定清晰,响应也快,用起来顺手。
fgetvars 的核心功能就是从文本文件里一口气读出双精度数值和字符串——你没听错,两个一起搞定。文件只要格式统一点,基本一行代码就能搞定读取操作。
函数用法挺直接:
data = fgetvars(filename, startLine, nLines, formatSpec)
你只要告诉它文件路径、从哪行开始读、读多少行,再加上数据格式,比如'%f %s'
就表示先读浮点数、再读字符串,格式一对,数据一把抓。
举个例子:你有个叫test.inp
的实验数据文件,里面每行都是个数值+字符串,你可以这样:
data = fgetvars('test.inp', 1, -1, '%f %s');
这样就能一行行把所有数据都读进来了,既快又不容易出错。
压缩包里还带了几个配套工具,像sgetvar2.m
、sgetvars.m
,是自定义的字符串函数,用来配合fgetvars
搞定各种文本场景,还挺实用的。哦对,还有个license.txt
,建议你用之前瞄一眼,免得踩坑。
小建议:使用formatSpec
的时候注意你文件里的分隔符,如果数据粘一起了,记得改下格式串。不然容易读错还不好排查。
如果你平常需要批量读取实验文件,或者搞一些数据项目,这套函数真挺香的,用起来比原生的fscanf
方便不少。