【发布时间】:2015-07-23 20:38:34
【问题描述】:
我正在尝试将以下数据读入 MATLAB:
'0.000000 1 18EFFA59x Rx D 8 AD 09 02 00 00 00 00 30'
'0.004245 1 14EFF01Cx Rx D 6 DB 00 FF FF 00 71'
'0.004640 1 CEF801Cx Rx D 3 3F 00 3B'
'0.005130 1 14EF131Cx Rx D 6 DB 00 FF FF 00 71'
'0.005630 1 CEF801Cx Rx D 3 3F 00 C3'
'0.010015 1 18EFFA59x Rx D 8 AD 07 01 00 00 00 00 30'
'0.014145 1 CF004F0x Rx D 8 F0 FF 7D 00 00 FF FF FF'
'0.015060 1 18EFFA59x Rx D 8 AD 07 02 00 00 00 00 30'
'0.018235 1 18EF1CF0x Rx D 8 F2 1E 05 FF FF 00 71 FF'
'0.018845 1 18EA5941x Rx D 3 09 FF 00'
我可以轻松地将每一行作为字符串读取 - 但为了提高后处理效率,我想用分隔符分隔每一行 - 即空格。换句话说,最终结果应该是一个非单单元阵列。我似乎找不到一种非常有效的方法来做到这一点。效率很重要,因为这些文件有几百万行长,并且在 MATLAB 中处理字符串/单元格需要很长时间。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
你已经尝试过什么?
f1=fopen(file.txt); textscan(f1,'%s','delimiter',' ');效率不够吗?生成的元胞数组应该是什么样的? -
或者使用导入数据工具并让它导出一个脚本来导入。您可以使用该实用程序将它们导入单个向量或数组。然后它会生成一个脚本来运行,你可以修改
-
如果您可以将每一行读取为字符串,则只需使用strsplit 将其按空格分割。