我正在尝试导入使用包含四列的Fortran程序创建的文件:原子符号,X位置,Y位置,Z位置。以下是输入文件的示例:
Zn 0.00000000000 0.00000000000 0.00000000000
Zn 0.00000000000 0.00000000000 0.25000000000
Zn 0.00000000000 0.00000000000 0.50000000000
Zn 0.00000000000 0.00000000000 0.75000000000
Zn 0.00000000000 0.05000000000 0.00000000000
Zn 0.00000000000 0.05000000000 0.25000000000
Zn 0.00000000000 0.05000000000 0.50000000000
Zn 0.00000000000 0.05000000000 0.75000000000
现在,如果我在excel中导入它并导出为CSV文件然后使用csvread(filename),则会产生错误,因为第一列有字符输入。 (我确信有一种方法可以在没有这个中间步骤的情况下直接导入制表符分隔文件,但我一直在使用这种方法。)
我尝试过的事情:
我感谢任何建议。
答案 0 :(得分:0)
你可以试试这个
fid = fopen('test.dat');
%one string and 3 numbers
format= '%s %f %f %f';
C = textscan(fid);
fclose(fid);
% C is now [{8x1cell} {8x1double} {8x1double} {8x1double}]
%get the content from C(1) and make a cell array out of C(2:4)
C= [C{:,1} num2cell([C{2:4}])];
答案 1 :(得分:0)
%%您可以使用readtable直接导入数据(它接受.txt,.dat或.csv和电子表格格式)。
%使用readtable
将数据导入为表格 data = readtable('filename.txt', 'Delimiter', 'tab');
%%有关该功能的更多信息,请参阅http://www.mathworks.com/help/matlab/ref/readtable.html。
%%有关表格的详细信息,请参阅http://www.mathworks.com/help/matlab/tables.html。