我正在尝试读取包含数千行格式的文件:
AAAAAAAA 2013.99.2314.029 0 OFF N
这是一个制表符分隔的文件。最后一列是无关紧要的。之前的两列是可变的,所以我将它们作为字符串读取。我的主要问题是第二列。它是一个分为几个部分的数字
2013.99.2314.029
是 2013 年,第 99 天,第二个 2314.029。
我想使用 textscan 一次读取整个文件,但是在我读取它时以某种方式拆分了那个复杂的日期字符串。
目前我有扫描字符串:
SCAN_STR = '%s\t%f.%f\t%s\t%s\t%*s'
它将日期字符串读入两个浮点数。我真正想要的是把它读成两个整数和一个浮点数。但是使用
SCAN_STR = '%s\t%d.%d.%f\t%s\t%s\t%*s'
将其截断为 2013 和 2314 并弄乱该行的其余部分。我试图逃避'。和 '。' 但这会弹出一个错误。
有什么建议么?由于文件很大,我想这样做,因为它被扫描了。当您开始尝试更改大型数据集的类型时,内存不足。
编辑:
真的,我需要一个 2013.99.2314.029 的扫描字符串来返回两个整数和一个浮点数。
'%d.%d.%f'
不工作。也不使用分隔符作为“.”。我也试过 %u 。它在读取小数点时四舍五入。
乐叹息。