将文本文件读入matlab
我一直试图将文本文件读入matlab。将文本文件读入matlab,matlab,text-files,Matlab,Text Files,我一直试图将文本文件读入matlab。 文本文件的示例如下所示: 顺序、等级、纪律、职务、服务、性别、工资 1,教授,B,19,18,男性,139750 2,教授,B,20,16,男性,173200 3,助理,B,4,3,男性,79750 我的代码如下所示: clc clear all DELIMITER = ','; HEADERLINES = 1; % Import the file newData1 = importdata('afifi.txt', DELIMITER, HEADERLI
文本文件的示例如下所示:
顺序、等级、纪律、职务、服务、性别、工资
1,教授,B,19,18,男性,139750
2,教授,B,20,16,男性,173200
3,助理,B,4,3,男性,79750
我的代码如下所示:
clc
clear all
DELIMITER = ',';
HEADERLINES = 1;
% Import the file
newData1 = importdata('afifi.txt', DELIMITER, HEADERLINES);
% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', vars{i}, newData1.(vars{i}));
end
由于某些原因,它无法正确读取最后一列。它只读取第一行中的第一个值,然后不读取最后一列的其余部分。任何人请告诉我如何解决这个问题 您可以使用
readtable
轻松导入包含混合数据的文本文件。线路如下:
readtable('afifi.txt','Delimiter',DELIMITER,'ReadVariableNames',true);
可以使用newData1.Properties.VariableNames
替换fieldnames(newData1)
以获取列名。总而言之,您问题中的代码可以按预期工作:
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
如果将
afifi.txt
重命名为afifi.csv
,则可以执行此操作
[num, txt, all] = xlsread('afifi.csv');
并获取
all
文件中的所有内容。正确导入文件后,newData1
有两个字段:data
和textdata
,第一个字段是salary列,第二个字段是其余字段。您希望如何导入数据?请看一看,我希望它们都在一个变量中。为什么它被分为数据和文本数据?我的意思是,为什么不显示173200和79750的值呢?在Matlab中也是不同的。