【问题标题】:how can i import in Matlab text file using PERL script?如何使用 PERL 脚本导入 Matlab 文本文件?
【发布时间】:2018-07-20 06:09:47
【问题描述】:

我尝试导入巨大的文本文件(约 500 万行)。我试试这个脚本

aaa = perl('importFile.pl',fileName);

“importFile.pl”在哪里

use strict;
use warnings;
    while (my $row = <>) {
      chomp $row;
      print "$row\n";
    }

但什么也没发生!我的错误是什么???或者您能提出类似(且快速)的解决方案吗?

Matlab R2014a 64 位

【问题讨论】:

  • 为什么一定要使用 Perl?
  • 我正在寻找快速的东西,我认为这是导入此类文件的一种更快的方法,但我愿意接受其他建议..
  • 什么快?文件中有哪些类型的数据?你打算用它做什么? MATLAB 具有广泛的data import 功能,您必须更加具体。
  • 我尝试使用带有预分配的 for loop + fgetl 函数。我在一小时内导入文件。为了预先分配 araay,我用 perl 脚本检查了行数……在一秒钟内。当我说“更快”时,我的意思与这次类似。我不知道我是否有这个想法......
  • Perl 脚本当然需要一秒钟,它不会将任何内容读入 RAM。同样,您需要更具体。文件中有什么?你读得怎么样?

标签: matlab programming-pearls


【解决方案1】:

我对 perl 不是很熟悉,但过去曾使用过它。我猜你的循环有问题,但就像我说的那样,我不是 perl 僧侣!这是我用来从文件中读取并打印出来的程序:

#!/usr/bin/perl

use strict;
use warnings;

#Opens a file handler
open my $fh, '<', '/home/user/Desktop/ScriptForChangesets/ToBeRead.txt' or die "Can't open file";

#Prints the file contents
print do{local $/; <$fh>};

希望这会有所帮助!

【讨论】:

  • 我通过matlab传文件名;所以我不能使用第 7 行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多