我正在使用 Import[filename, "Data"]
从 Mathematica 中的一些 .asc 文件导入数据命令,并将其存储在表中。我遇到了一个问题,有时 .asc 文件在文件末尾有一些空行,这会导致表中出现空值,这会在以后给我带来一些问题。
例如,当我查看 data[[5 ;; (Length[data])]]
时,我得到:{{3446.05, 15.5156}, {3446.18, 14.5156}, ..., {3451.49, 7.51563}, {}, {}, {}, {}}
所以我的问题是:摆脱这些空值的最佳方法是什么?我已经研究过忽略导入中的空格,但没有找到任何可以实现这一点的东西。我也看过 Delete
,但我似乎无法得到与空值匹配的表达式。
我可以这样做的一种方法是更改 Length[data]
到“长度[数据]-4”。但是,这需要针对每个文件进行潜在的更改,我更喜欢更通用的解决方案,适用于任何文件,无论它们是否有空格。
最佳答案
如果您导入的列表名为 s
,你可以使用:
s/.{}->Sequence[]
Select[s,Length[#]==2&]
DeleteCases[s,{}]
Partition[Flatten[s],2]
关于import - 删除 Mathematica 表中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18391937/