将文本文件读入matlab

时间:2016-01-26 07:01:45

标签: matlab text-files

我一直在尝试将文本文件读入matlab 文本文件的示例如下所示:

序,等级,纪律,sincephd,服务,性别,工资
1,教授,B,19,18,男,139750
2,教授,B,20,16,男,173200
3,AsstProf,B,4,3,男,79750

我的代码如下所示:

Symbol  Close   Change(Rs)  Change(%)   AS ON
Symbol  Close   Change(Rs)  Change(%)   AS ON
Symbol  Close   Change(Rs)  Change(%)   AS ON
Symbol  Close   Change(Rs)  Change(%)   AS ON

由于某种原因,它无法正确读取最后一列。它只读取第一行中的第一个值,然后不读取最后一列的其余部分。有人请告诉我如何解决这个问题!

2 个答案:

答案 0 :(得分:2)

您可以使用readtable轻松导入包含混合数据的文本文件。该行如下:

readtable('afifi.txt','Delimiter',DELIMITER,'ReadVariableNames',true);

您可以使用fieldnames(newData1)替换newData1.Properties.VariableNames以获取列名。放在一起,您问题中的代码可以按照需要运行:

clc
clear all
DELIMITER = ',';
% Import the file
newData1 = readtable('afifi.txt','Delimiter',DELIMITER,'ReadVariableNames',true);
% Create new variables in the base workspace from those fields.
vars = newData1.Properties.VariableNames;
for i = 1:length(vars)
    assignin('base', vars{i}, newData1.(vars{i}));
end

答案 1 :(得分:0)

如果您将afifi.txt重命名为afifi.csv,则可以执行此操作,

[num, txt, all] = xlsread('afifi.csv');

并获取all

中的所有内容