我有一个包含4列的文本文件,每列有65536个数据点。行中的每个元素都用逗号分隔。例如:
X,Y,Z,AU
4010.0,3210.0,-440.0,0.0
4010.0,3210.0,-420.0,0.0
etc.
所以,我有 65536 行,每行有4个数据值,如上所示。我想将其转换为矩阵。我尝试将数据从文本文件导入excel文件,因为这样很容易创建矩阵,但我丢失了一半以上的数据。
答案 0 :(得分:22)
如果文件中的所有条目都是数字,则只需使用a = load('file.txt')
即可。它应该创建65536x4矩阵a
。它比csvread
答案 1 :(得分:9)
你有没有尝试过使用'importdata'? 您只需要文件名和分隔符的参数。
>> tmp_data = importdata('your_file.txt',',')
tmp_data =
data: [2x4 double]
textdata: {'X' 'Y' 'Z' 'AU'}
colheaders: {'X' 'Y' 'Z' 'AU'}
>> tmp_data.data
ans =
4010 3210 -440 0
4010 3210 -420 0
>> tmp_data.textdata
ans =
'X' 'Y' 'Z' 'AU'
答案 2 :(得分:8)
您应该能够直接将文本文件读入MATLAB(使用函数FOPEN,FGETL,FSCANF和FCLOSE),而不是弄乱Excel。 :
fid = fopen('file.dat','rt'); %# Open the data file
headerChars = fgetl(fid); %# Read the first line of characters
data = fscanf(fid,'%f,%f,%f,%f',[4 inf]).'; %'# Read the data into a
%# 65536-by-4 matrix
fclose(fid); %# Close the data file
答案 3 :(得分:7)
答案 4 :(得分:5)