【问题标题】:MATLAB: Import a very large file in batchesMATLAB:批量导入一个非常大的文件
【发布时间】:2015-05-18 18:19:18
【问题描述】:

我正在尝试分批导入 50 个大型 csv 文件 (215000X3)。环顾四周后,有人建议使用“textscan”。我是使用以下代码完成的

N = 50;
fid = fopen('PIDFile.csv');
formatSpec = '%s %s %s';
k=0;
while ~feof(fid)
    k = k+1;
    block = textscan(fid, formatSpec, N, 'Delimiter',',');
end

运行这部分代码后,我得到的'block'如下:

34X1 cell    34X1 cell     34X1 cell

要导入的文件是一个普通的 csv 文件。我一直在研究 fread、fscan、csvread 等,但没有遇到提供块导入的示例/sloutions。任何建议/cmets 将不胜感激

谢谢, H

【问题讨论】:

  • 如果您使用的是最新版本的 MATLAB(例如 R2014b),您可以查看支持部分读取 CSV 文件的“datastore”:mathworks.com/help/matlab/import_export/…
  • 我正在使用 R2014a,它的库中显然没有“数据存储”功能。谢谢。

标签: matlab csv import batch-processing


【解决方案1】:

哦,好吧,我所要做的就是:

block = cell2mat(textscan(fid, formatSpec, N, 'Delimiter',','));

这样就解决了问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多