我有一个包含 1000 行和 100000 列的 .txt 文件。一个 10GB 的文本文件,包含我需要分析的模拟结果(实数)。
我的数据格式为:[0.5 0.3 0.45 .. ;
0.4 0.22 0.21587 ..;
0.1359 1.054 1.1 ...]
(用空格和线条分隔)
如果我尝试使用 A=load('Data.txt')
将整个文件一次加载(在 Matlab 中)到矩阵中,我会收到一条错误消息:“内存不足”,其中我认为意味着 - RAM(对吗?)。
我希望一次只从文件中读取一行到一维数组中。我怎么做?
我已经尝试过不同版本的 A=load('Data.txt')(1,:)
或 A=load('Data.txt'(1,:))
等等
C 代码的答案也将受到赞赏。谢谢。
最佳答案
查看此answer 。如果您的文件那么大,您不应该尝试一次加载全部文件。你应该逐行阅读它。如果这仍然不起作用,您应该看看 csvread功能。
编辑: 还有这个link可能会很有帮助
第二次编辑: 尝试Matfile io
关于c - 一次一行从 .txt 文件读取到数组(Matlab 或 C)。 "Insufficient memory"使用 'A=load()' 一次加载整个文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175697/