Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将制表符分隔的txt文件读入matlab_Matlab_Tab Delimited - Fatal编程技术网

将制表符分隔的txt文件读入matlab

将制表符分隔的txt文件读入matlab,matlab,tab-delimited,Matlab,Tab Delimited,我试图在MatLab中读取一个以制表符分隔的txt文件。 该文件包含由数字、文本、日期、日期时间和您能想到的所有内容组成的列。有些栏目里有很长的句子,有逗号,什么都有 它超过了excel的行数限制。我有大约150万行,因此无法将其转换为CSV或XLSX文件 我尝试了以下方法: tableDataEDM = tdfread(pathDataEDM,'\t'); 我回到“需要统计和机器学习工具箱” 我没有 tableDataEDM = dlmread(pathDataEDM,'\t'); 文件和

我试图在MatLab中读取一个以制表符分隔的txt文件。 该文件包含由数字、文本、日期、日期时间和您能想到的所有内容组成的列。有些栏目里有很长的句子,有逗号,什么都有

它超过了excel的行数限制。我有大约150万行,因此无法将其转换为CSV或XLSX文件

我尝试了以下方法:

tableDataEDM = tdfread(pathDataEDM,'\t');
我回到“需要统计和机器学习工具箱” 我没有

tableDataEDM = dlmread(pathDataEDM,'\t');
文件和格式字符向量之间不匹配。 我从文件中返回“读取”数字“字段时遇到问题”

这是因为该文件包含文本、数字、日期和其他所有内容。我想dlmread喜欢数字数据

       tableDataEDM = readtable(pathDataEDM,'Delimiter','\t','ReadVariableNames',true);

I get back:
    Error using readtable (line 197)
    Reading failed at line 6. All lines of a text file must have the same number of delimiters. Line 6 has 10
    delimiters, while preceding lines have 32.

    Note: readtable detected the following parameters:
    'HeaderLines', 0, 'Format', '%q%q%q%q%D%D%D%q%q%q%q%q%q%q%q%q%q%q%q%q%q%q%D%D%q%q%q%q%q%q%q%q%q'

    Error in Edm_FinderComp_CrossOver (line 33)
    tableDataEDM = readtable(pathDataEDM,'Delimiter','\t','ReadVariableNames',false);
我不知道为什么它会这样说。我可以很容易地将这些数据导入python。有没有什么东西是我错过了尝试,并把这个到matlab

任何关于导入制表符分隔的txt文件的帮助都将不胜感激。我没有尝试文本扫描,因为它看起来很痛苦。

您可以使用。这将把每一列放在tableDataEDM的一个单独的单元格中。假设每行都有一个int\t int\t字符串:


最后一个参数“%d%d%s”您应该更改以匹配您的格式。

您是否尝试过使用导入向导并将分隔符更改为制表符?只需将文件拖到工作区窗口中,向导就会出现。

tableDataEDM=textscanfopenpathDataEDM,“%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s',“分隔符”,“\t”谢谢,我尝试了这个方法,但没有成功,因为一些以制表符分隔的行会滚动到下一行。。。。因此,当您打开文本扫描表时,一行中的数据有时会出现在两行或三行中。。。。当你在记事本++中打开文件时,看起来是这样的,但在普通记事本中,行是好的。嗯,这很奇怪,似乎你的文件格式不一致,这将使此方法难以工作。
tableDataEDM = textscan(fopen(pathDataEDM),'%d %d %s')